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

* * */ @JsonIgnoreProperties(value = { "schema" }) @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "contact", "contributor", "cost", "created", "dataset", "description", "dmp_id", "ethical_issues_description", "ethical_issues_exist", "ethical_issues_report", "language", "modified", "project", "title", "additional_properties" }) public class Dmp implements Serializable { /** * The DMP Contact Schema *

* * (Required) * */ @JsonProperty("contact") private Contact contact; /** * The Contributor Schema *

* * */ @JsonProperty("contributor") private List contributor = null; /** * The Cost Schema *

* * */ @JsonProperty("cost") private List cost = null; /** * The DMP Creation Schema *

* * */ @JsonProperty("created") @JsonPropertyDescription("") private Date created; /** * The Dataset Schema *

* * (Required) * */ @JsonProperty("dataset") private List dataset = null; /** * The DMP Description Schema *

* To provide any free-form text information on a DMP * */ @JsonProperty("description") @JsonPropertyDescription("To provide any free-form text information on a DMP") private String description; /** * The DMP Identifier Schema *

* Identifier for the DMP itself * (Required) * */ @JsonProperty("dmp_id") @JsonPropertyDescription("Identifier for the DMP itself") private DmpId dmpId; /** * The DMP Ethical Issues Description Schema *

* To describe ethical issues directly in a DMP * */ @JsonProperty("ethical_issues_description") @JsonPropertyDescription("To describe ethical issues directly in a DMP") private String ethicalIssuesDescription; /** * The DMP Ethical Issues Exist Schema *

* To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown * (Required) * */ @JsonProperty("ethical_issues_exist") @JsonPropertyDescription("To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown") private Dmp.EthicalIssuesExist ethicalIssuesExist; /** * The DMP Ethical Issues Report Schema *

* To indicate where a protocol from a meeting with an ethical commitee can be found * */ @JsonProperty("ethical_issues_report") @JsonPropertyDescription("To indicate where a protocol from a meeting with an ethical commitee can be found") private URI ethicalIssuesReport; /** * The DMP Language Schema *

* Language of the DMP expressed using ISO 639-3. * (Required) * */ @JsonProperty("language") @JsonPropertyDescription("Language of the DMP expressed using ISO 639-3.") private Language language; /** * The DMP Modification Schema *

* Must be set each time DMP is modified. Indicates DMP version. * (Required) * */ @JsonProperty("modified") @JsonPropertyDescription("Must be set each time DMP is modified. Indicates DMP version.") private Date modified; /** * The DMP Project Schema *

* Project related to a DMP * */ @JsonProperty("project") @JsonPropertyDescription("Project related to a DMP") private List project = null; /** * The DMP Title Schema *

* Title of a DMP * (Required) * */ @JsonProperty("title") @JsonPropertyDescription("Title of a DMP") private String title; @JsonProperty("additional_properties") private Map additionalProperties = new HashMap(); private final static long serialVersionUID = 4599713332472772292L; /** * The DMP Contact Schema *

* * (Required) * */ @JsonProperty("contact") public Contact getContact() { return contact; } /** * The DMP Contact Schema *

* * (Required) * */ @JsonProperty("contact") public void setContact(Contact contact) { this.contact = contact; } /** * The Contributor Schema *

* * */ @JsonProperty("contributor") public List getContributor() { return contributor; } /** * The Contributor Schema *

* * */ @JsonProperty("contributor") public void setContributor(List contributor) { this.contributor = contributor; } /** * The Cost Schema *

* * */ @JsonProperty("cost") public List getCost() { return cost; } /** * The Cost Schema *

* * */ @JsonProperty("cost") public void setCost(List cost) { this.cost = cost; } /** * The DMP Creation Schema *

* * */ @JsonProperty("created") public Date getCreated() { return created; } /** * The DMP Creation Schema *

* * */ @JsonProperty("created") public void setCreated(Date created) { this.created = created; } /** * The Dataset Schema *

* * (Required) * */ @JsonProperty("dataset") public List getDataset() { return dataset; } /** * The Dataset Schema *

* * (Required) * */ @JsonProperty("dataset") public void setDataset(List dataset) { this.dataset = dataset; } /** * The DMP Description Schema *

* To provide any free-form text information on a DMP * */ @JsonProperty("description") public String getDescription() { return description; } /** * The DMP Description Schema *

* To provide any free-form text information on a DMP * */ @JsonProperty("description") public void setDescription(String description) { this.description = description; } /** * The DMP Identifier Schema *

* Identifier for the DMP itself * (Required) * */ @JsonProperty("dmp_id") public DmpId getDmpId() { return dmpId; } /** * The DMP Identifier Schema *

* Identifier for the DMP itself * (Required) * */ @JsonProperty("dmp_id") public void setDmpId(DmpId dmpId) { this.dmpId = dmpId; } /** * The DMP Ethical Issues Description Schema *

* To describe ethical issues directly in a DMP * */ @JsonProperty("ethical_issues_description") public String getEthicalIssuesDescription() { return ethicalIssuesDescription; } /** * The DMP Ethical Issues Description Schema *

* To describe ethical issues directly in a DMP * */ @JsonProperty("ethical_issues_description") public void setEthicalIssuesDescription(String ethicalIssuesDescription) { this.ethicalIssuesDescription = ethicalIssuesDescription; } /** * The DMP Ethical Issues Exist Schema *

* To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown * (Required) * */ @JsonProperty("ethical_issues_exist") public Dmp.EthicalIssuesExist getEthicalIssuesExist() { return ethicalIssuesExist; } /** * The DMP Ethical Issues Exist Schema *

* To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown * (Required) * */ @JsonProperty("ethical_issues_exist") public void setEthicalIssuesExist(Dmp.EthicalIssuesExist ethicalIssuesExist) { this.ethicalIssuesExist = ethicalIssuesExist; } /** * The DMP Ethical Issues Report Schema *

* To indicate where a protocol from a meeting with an ethical commitee can be found * */ @JsonProperty("ethical_issues_report") public URI getEthicalIssuesReport() { return ethicalIssuesReport; } /** * The DMP Ethical Issues Report Schema *

* To indicate where a protocol from a meeting with an ethical commitee can be found * */ @JsonProperty("ethical_issues_report") public void setEthicalIssuesReport(URI ethicalIssuesReport) { this.ethicalIssuesReport = ethicalIssuesReport; } /** * The DMP Language Schema *

* Language of the DMP expressed using ISO 639-3. * (Required) * */ @JsonProperty("language") public Language getLanguage() { return language; } /** * The DMP Language Schema *

* Language of the DMP expressed using ISO 639-3. * (Required) * */ @JsonProperty("language") public void setLanguage(Language language) { this.language = language; } /** * The DMP Modification Schema *

* Must be set each time DMP is modified. Indicates DMP version. * (Required) * */ @JsonProperty("modified") public Date getModified() { return modified; } /** * The DMP Modification Schema *

* Must be set each time DMP is modified. Indicates DMP version. * (Required) * */ @JsonProperty("modified") public void setModified(Date modified) { this.modified = modified; } /** * The DMP Project Schema *

* Project related to a DMP * */ @JsonProperty("project") public List getProject() { return project; } /** * The DMP Project Schema *

* Project related to a DMP * */ @JsonProperty("project") public void setProject(List project) { this.project = project; } /** * The DMP Title Schema *

* Title of a DMP * (Required) * */ @JsonProperty("title") public String getTitle() { return title; } /** * The DMP Title Schema *

* Title of a DMP * (Required) * */ @JsonProperty("title") public void setTitle(String title) { this.title = title; } @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 EthicalIssuesExist { YES("yes"), NO("no"), UNKNOWN("unknown"); private final String value; private final static Map CONSTANTS = new HashMap(); static { for (Dmp.EthicalIssuesExist c: values()) { CONSTANTS.put(c.value, c); } } private EthicalIssuesExist(String value) { this.value = value; } @Override public String toString() { return this.value; } @JsonValue public String value() { return this.value; } @JsonCreator public static Dmp.EthicalIssuesExist fromValue(String value) { Dmp.EthicalIssuesExist constant = CONSTANTS.get(value); if (constant == null) { throw new IllegalArgumentException(value); } else { return constant; } } } }