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 validations; @XmlElement(name = "defaultValue") private String defaultValue; @XmlElementWrapper(name = "visibilityRules") @XmlElement(name = "visibilityRule") private List 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 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 getValidations() { return validations; } public void setValidations(List validations) { this.validations = validations; } public List getSchematics() { return schematics; } public void setSchematics(List schematics) { this.schematics = schematics; } public List getVisibilityRules() { return visibilityRules; } public void setVisibilityRules(List visibilityRules) { this.visibilityRules = visibilityRules; } }