View Javadoc
1   package de.dlr.shepard.data.file.entities;
2   
3   import de.dlr.shepard.common.neo4j.entities.BasicContainer;
4   import de.dlr.shepard.common.util.Constants;
5   import de.dlr.shepard.context.collection.entities.Collection;
6   import java.util.ArrayList;
7   import java.util.List;
8   import lombok.Data;
9   import lombok.EqualsAndHashCode;
10  import lombok.NoArgsConstructor;
11  import org.neo4j.ogm.annotation.NodeEntity;
12  import org.neo4j.ogm.annotation.Relationship;
13  import org.neo4j.ogm.annotation.Relationship.Direction;
14  
15  @NodeEntity
16  @Data
17  @NoArgsConstructor
18  @EqualsAndHashCode(callSuper = true)
19  public class FileContainer extends BasicContainer {
20  
21    private String mongoId;
22  
23    @Relationship(type = Constants.FILE_IN_CONTAINER)
24    private List<ShepardFile> files = new ArrayList<>();
25  
26    @Relationship(type = Constants.HAS_DEFAULT_FILE_CONTAINER, direction = Direction.INCOMING)
27    private List<Collection> collectionList = new ArrayList<>();
28  
29    /**
30     * For testing purposes only
31     *
32     * @param id identifies the entity
33     */
34    public FileContainer(long id) {
35      super(id);
36    }
37  
38    public void addFile(ShepardFile file) {
39      files.add(file);
40    }
41  }