776 lines
17 KiB
Java
776 lines
17 KiB
Java
|
|
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.JsonAnyGetter;
|
|
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
|
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
|
import com.fasterxml.jackson.annotation.JsonValue;
|
|
|
|
|
|
/**
|
|
* The DMP Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@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
|
|
* <p>
|
|
*
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("contact")
|
|
private Contact contact;
|
|
/**
|
|
* The Contributor Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("contributor")
|
|
private List<Contributor> contributor = null;
|
|
/**
|
|
* The Cost Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("cost")
|
|
private List<Cost> cost = null;
|
|
/**
|
|
* The DMP Creation Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("created")
|
|
@JsonPropertyDescription("")
|
|
private Date created;
|
|
/**
|
|
* The Dataset Schema
|
|
* <p>
|
|
*
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("dataset")
|
|
private List<Dataset> dataset = null;
|
|
/**
|
|
* The DMP Description Schema
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* Identifier for the DMP itself
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("dmp_id")
|
|
@JsonPropertyDescription("Identifier for the DMP itself")
|
|
private DmpId dmpId;
|
|
/**
|
|
* The DMP Ethical Issues Description Schema
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* Language of the DMP expressed using ISO 639-3.
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("language")
|
|
@JsonPropertyDescription("Language of the DMP expressed using ISO 639-3.")
|
|
private Dmp.Language language;
|
|
/**
|
|
* The DMP Modification Schema
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* Project related to a DMP
|
|
*
|
|
*/
|
|
@JsonProperty("project")
|
|
@JsonPropertyDescription("Project related to a DMP")
|
|
private List<Project> project = null;
|
|
/**
|
|
* The DMP Title Schema
|
|
* <p>
|
|
* Title of a DMP
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("title")
|
|
@JsonPropertyDescription("Title of a DMP")
|
|
private String title;
|
|
@JsonProperty("additional_properties")
|
|
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
|
private final static long serialVersionUID = 4599713332472772292L;
|
|
|
|
/**
|
|
* The DMP Contact Schema
|
|
* <p>
|
|
*
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("contact")
|
|
public Contact getContact() {
|
|
return contact;
|
|
}
|
|
|
|
/**
|
|
* The DMP Contact Schema
|
|
* <p>
|
|
*
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("contact")
|
|
public void setContact(Contact contact) {
|
|
this.contact = contact;
|
|
}
|
|
|
|
/**
|
|
* The Contributor Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("contributor")
|
|
public List<Contributor> getContributor() {
|
|
return contributor;
|
|
}
|
|
|
|
/**
|
|
* The Contributor Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("contributor")
|
|
public void setContributor(List<Contributor> contributor) {
|
|
this.contributor = contributor;
|
|
}
|
|
|
|
/**
|
|
* The Cost Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("cost")
|
|
public List<Cost> getCost() {
|
|
return cost;
|
|
}
|
|
|
|
/**
|
|
* The Cost Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("cost")
|
|
public void setCost(List<Cost> cost) {
|
|
this.cost = cost;
|
|
}
|
|
|
|
/**
|
|
* The DMP Creation Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("created")
|
|
public Date getCreated() {
|
|
return created;
|
|
}
|
|
|
|
/**
|
|
* The DMP Creation Schema
|
|
* <p>
|
|
*
|
|
*
|
|
*/
|
|
@JsonProperty("created")
|
|
public void setCreated(Date created) {
|
|
this.created = created;
|
|
}
|
|
|
|
/**
|
|
* The Dataset Schema
|
|
* <p>
|
|
*
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("dataset")
|
|
public List<Dataset> getDataset() {
|
|
return dataset;
|
|
}
|
|
|
|
/**
|
|
* The Dataset Schema
|
|
* <p>
|
|
*
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("dataset")
|
|
public void setDataset(List<Dataset> dataset) {
|
|
this.dataset = dataset;
|
|
}
|
|
|
|
/**
|
|
* The DMP Description Schema
|
|
* <p>
|
|
* To provide any free-form text information on a DMP
|
|
*
|
|
*/
|
|
@JsonProperty("description")
|
|
public String getDescription() {
|
|
return description;
|
|
}
|
|
|
|
/**
|
|
* The DMP Description Schema
|
|
* <p>
|
|
* To provide any free-form text information on a DMP
|
|
*
|
|
*/
|
|
@JsonProperty("description")
|
|
public void setDescription(String description) {
|
|
this.description = description;
|
|
}
|
|
|
|
/**
|
|
* The DMP Identifier Schema
|
|
* <p>
|
|
* Identifier for the DMP itself
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("dmp_id")
|
|
public DmpId getDmpId() {
|
|
return dmpId;
|
|
}
|
|
|
|
/**
|
|
* The DMP Identifier Schema
|
|
* <p>
|
|
* Identifier for the DMP itself
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("dmp_id")
|
|
public void setDmpId(DmpId dmpId) {
|
|
this.dmpId = dmpId;
|
|
}
|
|
|
|
/**
|
|
* The DMP Ethical Issues Description Schema
|
|
* <p>
|
|
* To describe ethical issues directly in a DMP
|
|
*
|
|
*/
|
|
@JsonProperty("ethical_issues_description")
|
|
public String getEthicalIssuesDescription() {
|
|
return ethicalIssuesDescription;
|
|
}
|
|
|
|
/**
|
|
* The DMP Ethical Issues Description Schema
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* Language of the DMP expressed using ISO 639-3.
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("language")
|
|
public Dmp.Language getLanguage() {
|
|
return language;
|
|
}
|
|
|
|
/**
|
|
* The DMP Language Schema
|
|
* <p>
|
|
* Language of the DMP expressed using ISO 639-3.
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("language")
|
|
public void setLanguage(Dmp.Language language) {
|
|
this.language = language;
|
|
}
|
|
|
|
/**
|
|
* The DMP Modification Schema
|
|
* <p>
|
|
* Must be set each time DMP is modified. Indicates DMP version.
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("modified")
|
|
public Date getModified() {
|
|
return modified;
|
|
}
|
|
|
|
/**
|
|
* The DMP Modification Schema
|
|
* <p>
|
|
* 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
|
|
* <p>
|
|
* Project related to a DMP
|
|
*
|
|
*/
|
|
@JsonProperty("project")
|
|
public List<Project> getProject() {
|
|
return project;
|
|
}
|
|
|
|
/**
|
|
* The DMP Project Schema
|
|
* <p>
|
|
* Project related to a DMP
|
|
*
|
|
*/
|
|
@JsonProperty("project")
|
|
public void setProject(List<Project> project) {
|
|
this.project = project;
|
|
}
|
|
|
|
/**
|
|
* The DMP Title Schema
|
|
* <p>
|
|
* Title of a DMP
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("title")
|
|
public String getTitle() {
|
|
return title;
|
|
}
|
|
|
|
/**
|
|
* The DMP Title Schema
|
|
* <p>
|
|
* Title of a DMP
|
|
* (Required)
|
|
*
|
|
*/
|
|
@JsonProperty("title")
|
|
public void setTitle(String title) {
|
|
this.title = title;
|
|
}
|
|
|
|
@JsonProperty("additional_properties")
|
|
public Map<String, Object> 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<String, Dmp.EthicalIssuesExist> CONSTANTS = new HashMap<String, Dmp.EthicalIssuesExist>();
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public enum Language {
|
|
|
|
AAR("aar"),
|
|
ABK("abk"),
|
|
AFR("afr"),
|
|
AKA("aka"),
|
|
AMH("amh"),
|
|
ARA("ara"),
|
|
ARG("arg"),
|
|
ASM("asm"),
|
|
AVA("ava"),
|
|
AVE("ave"),
|
|
AYM("aym"),
|
|
AZE("aze"),
|
|
BAK("bak"),
|
|
BAM("bam"),
|
|
BEL("bel"),
|
|
BEN("ben"),
|
|
BIH("bih"),
|
|
BIS("bis"),
|
|
BOD("bod"),
|
|
BOS("bos"),
|
|
BRE("bre"),
|
|
BUL("bul"),
|
|
CAT("cat"),
|
|
CES("ces"),
|
|
CHA("cha"),
|
|
CHE("che"),
|
|
CHU("chu"),
|
|
CHV("chv"),
|
|
COR("cor"),
|
|
COS("cos"),
|
|
CRE("cre"),
|
|
CYM("cym"),
|
|
DAN("dan"),
|
|
DEU("deu"),
|
|
DIV("div"),
|
|
DZO("dzo"),
|
|
ELL("ell"),
|
|
ENG("eng"),
|
|
EPO("epo"),
|
|
EST("est"),
|
|
EUS("eus"),
|
|
EWE("ewe"),
|
|
FAO("fao"),
|
|
FAS("fas"),
|
|
FIJ("fij"),
|
|
FIN("fin"),
|
|
FRA("fra"),
|
|
FRY("fry"),
|
|
FUL("ful"),
|
|
GLA("gla"),
|
|
GLE("gle"),
|
|
GLG("glg"),
|
|
GLV("glv"),
|
|
GRN("grn"),
|
|
GUJ("guj"),
|
|
HAT("hat"),
|
|
HAU("hau"),
|
|
HBS("hbs"),
|
|
HEB("heb"),
|
|
HER("her"),
|
|
HIN("hin"),
|
|
HMO("hmo"),
|
|
HRV("hrv"),
|
|
HUN("hun"),
|
|
HYE("hye"),
|
|
IBO("ibo"),
|
|
IDO("ido"),
|
|
III("iii"),
|
|
IKU("iku"),
|
|
ILE("ile"),
|
|
INA("ina"),
|
|
IND("ind"),
|
|
IPK("ipk"),
|
|
ISL("isl"),
|
|
ITA("ita"),
|
|
JAV("jav"),
|
|
JPN("jpn"),
|
|
KAL("kal"),
|
|
KAN("kan"),
|
|
KAS("kas"),
|
|
KAT("kat"),
|
|
KAU("kau"),
|
|
KAZ("kaz"),
|
|
KHM("khm"),
|
|
KIK("kik"),
|
|
KIN("kin"),
|
|
KIR("kir"),
|
|
KOM("kom"),
|
|
KON("kon"),
|
|
KOR("kor"),
|
|
KUA("kua"),
|
|
KUR("kur"),
|
|
LAO("lao"),
|
|
LAT("lat"),
|
|
LAV("lav"),
|
|
LIM("lim"),
|
|
LIN("lin"),
|
|
LIT("lit"),
|
|
LTZ("ltz"),
|
|
LUB("lub"),
|
|
LUG("lug"),
|
|
MAH("mah"),
|
|
MAL("mal"),
|
|
MAR("mar"),
|
|
MKD("mkd"),
|
|
MLG("mlg"),
|
|
MLT("mlt"),
|
|
MON("mon"),
|
|
MRI("mri"),
|
|
MSA("msa"),
|
|
MYA("mya"),
|
|
NAU("nau"),
|
|
NAV("nav"),
|
|
NBL("nbl"),
|
|
NDE("nde"),
|
|
NDO("ndo"),
|
|
NEP("nep"),
|
|
NLD("nld"),
|
|
NNO("nno"),
|
|
NOB("nob"),
|
|
NOR("nor"),
|
|
NYA("nya"),
|
|
OCI("oci"),
|
|
OJI("oji"),
|
|
ORI("ori"),
|
|
ORM("orm"),
|
|
OSS("oss"),
|
|
PAN("pan"),
|
|
PLI("pli"),
|
|
POL("pol"),
|
|
POR("por"),
|
|
PUS("pus"),
|
|
QUE("que"),
|
|
ROH("roh"),
|
|
RON("ron"),
|
|
RUN("run"),
|
|
RUS("rus"),
|
|
SAG("sag"),
|
|
SAN("san"),
|
|
SIN("sin"),
|
|
SLK("slk"),
|
|
SLV("slv"),
|
|
SME("sme"),
|
|
SMO("smo"),
|
|
SNA("sna"),
|
|
SND("snd"),
|
|
SOM("som"),
|
|
SOT("sot"),
|
|
SPA("spa"),
|
|
SQI("sqi"),
|
|
SRD("srd"),
|
|
SRP("srp"),
|
|
SSW("ssw"),
|
|
SUN("sun"),
|
|
SWA("swa"),
|
|
SWE("swe"),
|
|
TAH("tah"),
|
|
TAM("tam"),
|
|
TAT("tat"),
|
|
TEL("tel"),
|
|
TGK("tgk"),
|
|
TGL("tgl"),
|
|
THA("tha"),
|
|
TIR("tir"),
|
|
TON("ton"),
|
|
TSN("tsn"),
|
|
TSO("tso"),
|
|
TUK("tuk"),
|
|
TUR("tur"),
|
|
TWI("twi"),
|
|
UIG("uig"),
|
|
UKR("ukr"),
|
|
URD("urd"),
|
|
UZB("uzb"),
|
|
VEN("ven"),
|
|
VIE("vie"),
|
|
VOL("vol"),
|
|
WLN("wln"),
|
|
WOL("wol"),
|
|
XHO("xho"),
|
|
YID("yid"),
|
|
YOR("yor"),
|
|
ZHA("zha"),
|
|
ZHO("zho"),
|
|
ZUL("zul");
|
|
private final String value;
|
|
private final static Map<String, Dmp.Language> CONSTANTS = new HashMap<String, Dmp.Language>();
|
|
|
|
static {
|
|
for (Dmp.Language c: values()) {
|
|
CONSTANTS.put(c.value, c);
|
|
}
|
|
}
|
|
|
|
private Language(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return this.value;
|
|
}
|
|
|
|
@JsonValue
|
|
public String value() {
|
|
return this.value;
|
|
}
|
|
|
|
@JsonCreator
|
|
public static Dmp.Language fromValue(String value) {
|
|
Dmp.Language constant = CONSTANTS.get(value);
|
|
if (constant == null) {
|
|
throw new IllegalArgumentException(value);
|
|
} else {
|
|
return constant;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|