package eu.eudat.service.prefillingsource; import eu.eudat.model.Description; import eu.eudat.model.Prefilling; import eu.eudat.model.PrefillingSource; import eu.eudat.model.persist.PrefillingSearchRequest; import eu.eudat.model.persist.DescriptionPrefillingRequest; import eu.eudat.model.persist.PrefillingSourcePersist; import gr.cite.tools.exception.MyApplicationException; import gr.cite.tools.exception.MyForbiddenException; import gr.cite.tools.exception.MyNotFoundException; import gr.cite.tools.exception.MyValidationException; import gr.cite.tools.fieldset.FieldSet; import jakarta.xml.bind.JAXBException; import org.xml.sax.SAXException; import javax.management.InvalidApplicationException; import javax.xml.parsers.ParserConfigurationException; import java.io.IOException; import java.util.List; import java.util.UUID; public interface PrefillingSourceService { PrefillingSource persist(PrefillingSourcePersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, JAXBException; void deleteAndSave(UUID id) throws MyForbiddenException, InvalidApplicationException; List searchPrefillings(PrefillingSearchRequest model); Description getPrefilledDescription(DescriptionPrefillingRequest model, FieldSet fields) throws JAXBException, ParserConfigurationException, IOException, InstantiationException, IllegalAccessException, SAXException, InvalidApplicationException; }