argos/dmp-backend/core/src/main/java/eu/eudat/service/fielddatahelper/FieldDataHelperService.java

38 lines
1.9 KiB
Java

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<BaseFieldData> build(gr.cite.tools.fieldset.FieldSet fieldSet, List<BaseFieldDataEntity> data, EnumSet<AuthorizationFlags> authorizationFlags);
BaseFieldData buildOne(FieldSet fieldSet, BaseFieldDataEntity data, EnumSet<AuthorizationFlags> authorizationFlags);
BaseFieldDataModel buildCommonModelOne(BaseFieldDataEntity data, EnumSet<AuthorizationFlags> authorizationFlags);
BaseFieldDataEntity applyPersist(BaseFieldDataPersist persist);
BaseFieldDataEntity applyPersist(BaseFieldDataPersist persist, BaseFieldDataEntity data);
BaseFieldDataPersist importExportMapDataToPersist(BaseFieldDataImportExport xml);
BaseFieldDataImportExport dataToImportExportXml(BaseFieldDataEntity data);
boolean isMultiValue(BaseFieldDataEntity data);
}