1 package de.dlr.shepard.neo4Core.io;
2
3 import de.dlr.shepard.neo4Core.entities.AbstractDataObject;
4 import de.dlr.shepard.neo4Core.io.validation.NoDelimiterInMapKeys;
5 import java.util.HashMap;
6 import java.util.Map;
7 import lombok.Data;
8 import lombok.EqualsAndHashCode;
9 import lombok.NoArgsConstructor;
10 import org.eclipse.microprofile.openapi.annotations.media.Schema;
11
12 @Data
13 @EqualsAndHashCode(callSuper = true)
14 @NoArgsConstructor
15 @Schema(name = "AbstractDataObject")
16 public abstract class AbstractDataObjectIO extends BasicEntityIO {
17
18 @Schema(nullable = true)
19 private String description;
20
21 @NoDelimiterInMapKeys
22 private Map<String, String> attributes = new HashMap<>();
23
24 protected AbstractDataObjectIO(AbstractDataObject dataObject) {
25 super(dataObject);
26 this.description = dataObject.getDescription();
27 this.attributes = dataObject.getAttributes();
28 }
29 }