package eu.eudat.models.rda; import java.io.Serializable; import java.util.HashMap; import java.util.Map; import com.fasterxml.jackson.annotation.*; /** * The DMP Identifier Schema *

* Identifier for the DMP itself * */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "identifier", "type" }) @JsonIgnoreProperties(ignoreUnknown = true) public class DmpId implements Serializable { /** * The DMP Identifier Value Schema *

* Identifier for a DMP * (Required) * */ @JsonProperty("identifier") @JsonPropertyDescription("Identifier for a DMP") private String identifier; /** * The DMP Identifier Type Schema *

* The DMP Identifier Type. Allowed values: handle, doi, ark, url, other * (Required) * */ @JsonProperty("type") @JsonPropertyDescription("The DMP Identifier Type. Allowed values: handle, doi, ark, url, other") private DmpId.Type type; @JsonIgnore private Map additionalProperties = new HashMap(); private final static long serialVersionUID = -6059908070202476841L; /** * The DMP Identifier Value Schema *

* Identifier for a DMP * (Required) * */ @JsonProperty("identifier") public String getIdentifier() { return identifier; } /** * The DMP Identifier Value Schema *

* Identifier for a DMP * (Required) * */ @JsonProperty("identifier") public void setIdentifier(String identifier) { this.identifier = identifier; } /** * The DMP Identifier Type Schema *

* The DMP Identifier Type. Allowed values: handle, doi, ark, url, other * (Required) * */ @JsonProperty("type") public DmpId.Type getType() { return type; } /** * The DMP Identifier Type Schema *

* The DMP Identifier Type. Allowed values: handle, doi, ark, url, other * (Required) * */ @JsonProperty("type") public void setType(DmpId.Type type) { this.type = type; } @JsonProperty("additional_properties") public Map getAdditionalProperties() { return this.additionalProperties; } @JsonProperty("additional_properties") public void setAdditionalProperty(String name, Object value) { this.additionalProperties.put(name, value); } public enum Type { HANDLE("handle"), DOI("doi"), ARK("ark"), URL("url"), OTHER("other"); private final String value; private final static Map CONSTANTS = new HashMap(); static { for (DmpId.Type c: values()) { CONSTANTS.put(c.value, c); } } private Type(String value) { this.value = value; } @Override public String toString() { return this.value; } @JsonValue public String value() { return this.value; } @JsonCreator public static DmpId.Type fromValue(String value) { DmpId.Type constant = CONSTANTS.get(value); if (constant == null) { throw new IllegalArgumentException(value); } else { return constant; } } } }