1 package de.dlr.shepard.context.references.dataobject.io;
2
3 import de.dlr.shepard.context.references.basicreference.io.BasicReferenceIO;
4 import de.dlr.shepard.context.references.dataobject.entities.CollectionReference;
5 import jakarta.validation.constraints.NotNull;
6 import lombok.Data;
7 import lombok.EqualsAndHashCode;
8 import lombok.NoArgsConstructor;
9 import org.eclipse.microprofile.openapi.annotations.media.Schema;
10
11 @Data
12 @EqualsAndHashCode(callSuper = true)
13 @NoArgsConstructor
14 @Schema(name = "CollectionReference")
15 public class CollectionReferenceIO extends BasicReferenceIO {
16
17 @NotNull
18 @Schema(required = true)
19 private long referencedCollectionId;
20
21 @Schema(nullable = true)
22 private String relationship;
23
24 public CollectionReferenceIO(CollectionReference ref) {
25 super(ref);
26 this.referencedCollectionId = ref.getReferencedCollection() != null
27 ? ref.getReferencedCollection().getShepardId()
28 : -1;
29 this.relationship = ref.getRelationship();
30 }
31 }