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

28 lines
1.3 KiB
Java

package eu.eudat.service.fielddatahelper;
import eu.eudat.authorization.AuthorizationFlags;
import eu.eudat.commons.enums.FieldType;
import eu.eudat.commons.types.descriptiontemplate.fielddata.BaseFieldDataEntity;
import eu.eudat.model.descriptiontemplatedefinition.fielddata.BaseFieldData;
import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.BaseFieldDataPersist;
import gr.cite.tools.fieldset.FieldSet;
import org.w3c.dom.Element;
import java.util.EnumSet;
import java.util.List;
public interface FieldDataHelperService {
FieldType getFormType();
BaseFieldDataEntity<?> newDataInstance();
BaseFieldData newModelInstance();
BaseFieldDataPersist newPersistModelInstance();
Class<?> getDataClass();
Class<?> getModelClass();
Class<?> getPersistModelClass();
List<BaseFieldData> build(gr.cite.tools.fieldset.FieldSet fieldSet, List<BaseFieldDataEntity<?>> datas, EnumSet<AuthorizationFlags> authorizationFlags);
BaseFieldData buildOne(FieldSet fieldSet, BaseFieldDataEntity<?> data, EnumSet<AuthorizationFlags> authorizationFlags);
BaseFieldDataEntity<?> applyPersist(BaseFieldDataPersist persist);
BaseFieldDataEntity<?> applyPersist(BaseFieldDataPersist persist, BaseFieldDataEntity<?> data);
BaseFieldDataPersist mapDataToPersist(BaseFieldDataEntity<?> data);
}