file-transformer-base/src/main/java/eu/eudat/file/transformer/entities/descriptiontemplate/importexport/FieldImportExport.java

145 lines
5.5 KiB
Java

package eu.eudat.file.transformer.entities.descriptiontemplate.importexport;
import eu.eudat.file.transformer.entities.descriptiontemplate.importexport.fielddata.*;
import eu.eudat.file.transformer.enums.FieldType;
import eu.eudat.file.transformer.enums.FieldValidationType;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class FieldImportExport {
@XmlAttribute(name = "id")
private String id;
@XmlAttribute(name = "ordinal")
private int ordinal;
@XmlElement(name = "numbering")
private String numbering;
@XmlElementWrapper(name = "validations")
@XmlElement(name = "validation")
private List<FieldValidationType> validations;
@XmlElement(name = "defaultValue")
private String defaultValue;
@XmlElementWrapper(name = "visibilityRules")
@XmlElement(name = "visibilityRule")
private List<RuleImportExport> visibilityRules;
@XmlElement(name = "fieldType")
private FieldType fieldType;
@XmlElements(value = {
@XmlElement(name = FieldType.Names.CheckBox, type = CheckBoxDataImportExport.class),
@XmlElement(name = FieldType.Names.Validation, type = ValidationDataImportExport.class),
@XmlElement(name = FieldType.Names.TextArea, type = TextAreaDataImportExport.class),
@XmlElement(name = FieldType.Names.Taxonomies, type = TaxonomyDataImportExport.class),
@XmlElement(name = FieldType.Names.Tags, type = TagDataImportExport.class),
@XmlElement(name = FieldType.Names.Services, type = ServiceDataImportExport.class),
@XmlElement(name = FieldType.Names.RichTextarea, type = RichTextAreaDataImportExport.class),
@XmlElement(name = FieldType.Names.Researchers, type = ResearcherDataImportExport.class),
@XmlElement(name = FieldType.Names.Registries, type = RegistryDataImportExport.class),
@XmlElement(name = FieldType.Names.PubRepositories, type = PublicationRepositoryDataImportExport.class),
@XmlElement(name = FieldType.Names.Publications, type = PublicationDataImportExport.class),
@XmlElement(name = FieldType.Names.Organizations, type = OrganizationDataImportExport.class),
@XmlElement(name = FieldType.Names.Licenses, type = LicenseDataImportExport.class),
@XmlElement(name = FieldType.Names.JournalRepositories, type = JournalRepositoryDataImportExport.class),
@XmlElement(name = FieldType.Names.FreeText, type = FreeTextDataImportExport.class),
@XmlElement(name = FieldType.Names.ExternalDatasets, type = ExternalDatasetDataImportExport.class),
@XmlElement(name = FieldType.Names.DatePicker, type = DatePickerDataImportExport.class),
@XmlElement(name = FieldType.Names.DatasetIdentifier, type = DatasetIdentifierDataImportExport.class),
@XmlElement(name = FieldType.Names.DataRepositories, type = DataRepositoryDataImportExport.class),
@XmlElement(name = FieldType.Names.Currency, type = CurrencyDataImportExport.class),
@XmlElement(name = FieldType.Names.BooleanDecision, type = BooleanDecisionDataImportExport.class),
@XmlElement(name = FieldType.Names.Upload, type = UploadDataImportExport.class),
@XmlElement(name = FieldType.Names.RadioBox, type = RadioBoxDataImportExport.class),
@XmlElement(name = FieldType.Names.Wordlist, type = WordListDataImportExport.class),
@XmlElement(name = FieldType.Names.Autocomplete, type = AutoCompleteDataImportExport.class),
@XmlElement(name = FieldType.Names.InternalDmpDatasets, type = DatasetAutoCompleteDataImportExport.class),
@XmlElement(name = FieldType.Names.InternalDmpDmps, type = DmpAutoCompleteDataImportExport.class),
@XmlElement(name = FieldType.Names.InternalDmpResearchers, type = ResearcherAutoCompleteDataImportExport.class),
})
private BaseFieldDataImportExport data;
@XmlElementWrapper(name = "schematics")
@XmlElement(name = "schematic")
private List<String> schematics;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public String getNumbering() {
return numbering;
}
public void setNumbering(String numbering) {
this.numbering = numbering;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
public FieldType getFieldType() {
return fieldType;
}
public void setFieldType(FieldType fieldType) {
this.fieldType = fieldType;
}
public BaseFieldDataImportExport getData() {
return this.data;
}
public void setData(BaseFieldDataImportExport data) {
this.data = data;
}
public List<FieldValidationType> getValidations() {
return validations;
}
public void setValidations(List<FieldValidationType> validations) {
this.validations = validations;
}
public List<String> getSchematics() {
return schematics;
}
public void setSchematics(List<String> schematics) {
this.schematics = schematics;
}
public List<RuleImportExport> getVisibilityRules() {
return visibilityRules;
}
public void setVisibilityRules(List<RuleImportExport> visibilityRules) {
this.visibilityRules = visibilityRules;
}
}