View Javadoc
1   package de.dlr.shepard.neo4Core.io;
2   
3   import de.dlr.shepard.neo4Core.entities.DataObject;
4   import io.swagger.v3.oas.annotations.media.Schema;
5   import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
6   import lombok.Data;
7   import lombok.EqualsAndHashCode;
8   import lombok.NoArgsConstructor;
9   
10  @Data
11  @EqualsAndHashCode(callSuper = true)
12  @NoArgsConstructor
13  @Schema(name = "DataObject")
14  public class DataObjectIO extends AbstractDataObjectIO {
15  
16  	@Schema(accessMode = AccessMode.READ_ONLY)
17  	private long collectionId;
18  
19  	@Schema(accessMode = AccessMode.READ_ONLY)
20  	private long[] referenceIds;
21  
22  	@Schema(accessMode = AccessMode.READ_ONLY)
23  	private long[] successorIds;
24  
25  	private long[] predecessorIds;
26  
27  	@Schema(accessMode = AccessMode.READ_ONLY)
28  	private long[] childrenIds;
29  
30  	@Schema(nullable = true)
31  	private Long parentId;
32  
33  	@Schema(accessMode = AccessMode.READ_ONLY)
34  	private long[] incomingIds;
35  
36  	public DataObjectIO(DataObject dataObject) {
37  		super(dataObject);
38  		this.collectionId = dataObject.getCollection().getShepardId();
39  		this.referenceIds = extractShepardIds(dataObject.getReferences());
40  		this.successorIds = extractShepardIds(dataObject.getSuccessors());
41  		this.predecessorIds = extractShepardIds(dataObject.getPredecessors());
42  		this.childrenIds = extractShepardIds(dataObject.getChildren());
43  		this.parentId = dataObject.getParent() != null ? dataObject.getParent().getShepardId() : null;
44  		this.incomingIds = extractShepardIds(dataObject.getIncoming());
45  	}
46  
47  }