package eu.eudat.service.fielddatahelper; import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.commonmodels.models.descriptiotemplate.fielddata.BaseFieldDataModel; import eu.eudat.commons.enums.FieldType; import eu.eudat.commons.types.descriptiontemplate.fielddata.BaseFieldDataEntity; import eu.eudat.commons.types.descriptiontemplate.importexport.fielddata.BaseFieldDataImportExport; import eu.eudat.model.descriptiontemplatedefinition.fielddata.BaseFieldData; import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.BaseFieldDataPersist; import gr.cite.tools.fieldset.FieldSet; import gr.cite.tools.validation.Validator; import java.util.EnumSet; import java.util.List; public interface FieldDataHelperService { FieldType getFieldType(); BaseFieldDataEntity newDataInstance(); BaseFieldData newModelInstance(); BaseFieldDataModel newCommonModelInstance(); BaseFieldDataPersist newPersistModelInstance(); BaseFieldDataImportExport newImportExportInstance(); Class getDataClass(); Class getModelClass(); Class getPersistModelClass(); Class getCommonModelClass(); Class getImportExportClass(); Validator getPersistModelValidator(); List build(gr.cite.tools.fieldset.FieldSet fieldSet, List data, EnumSet authorizationFlags); BaseFieldData buildOne(FieldSet fieldSet, BaseFieldDataEntity data, EnumSet authorizationFlags); BaseFieldDataModel buildCommonModelOne(BaseFieldDataEntity data, EnumSet authorizationFlags); BaseFieldDataEntity applyPersist(BaseFieldDataPersist persist); BaseFieldDataEntity applyPersist(BaseFieldDataPersist persist, BaseFieldDataEntity data); BaseFieldDataPersist importExportMapDataToPersist(BaseFieldDataImportExport xml); BaseFieldDataImportExport dataToImportExportXml(BaseFieldDataEntity data); boolean isMultiValue(BaseFieldDataEntity data); }