/** * */ package net.conselldemallorca.helium.integracio.plugins.custodia; import java.util.List; import net.conselldemallorca.helium.integracio.plugins.signatura.RespostaValidacioSignatura; /** * Interfície del plugin de custòdia documental * * @author Limit Tecnologies <limit@limit.es> */ public interface CustodiaPlugin { /** * Afegeix una signatura a un document * * @param id * @param gesdocId * @param arxiuNom * @param tipusDocument * @param signatura * @return */ public String addSignature( String id, String gesdocId, String arxiuNom, String tipusDocument, byte[] signatura) throws CustodiaPluginException; /** * Obté les signatures per a un document * * @param id * @return */ public List<byte[]> getSignatures(String id) throws CustodiaPluginException; /** * Retorna l'arxiu amb les signatures en el cas de que les signatures es guardin * adjuntes a dins l'arxiu que es signa * @param id * @return * @throws CustodiaPluginException */ public byte[] getSignaturesAmbArxiu(String id) throws CustodiaPluginException; /** * Esborra totes les signatures d'un document * * @param id */ public void deleteSignatures(String id) throws CustodiaPluginException; /** * Retorna informació de les signatures d'un document * * @param id */ public List<RespostaValidacioSignatura> dadesValidacioSignatura(String id) throws CustodiaPluginException; /** * Indica si la implementació del plugin és capaç de retornar informació * de les signatures. */ public boolean potObtenirInfoSignatures(); /** * Indica si la validació de les signatures és implícita a l'hora * de guardar la signatura o s'ha de fer expressament. */ public boolean isValidacioImplicita(); /** * Retorna la url de verificació de documents signats. Si retorna null * el plugin no suporta aquesta característica. * * @return * @throws CustodiaPluginException */ public String getUrlComprovacioSignatura(String id) throws CustodiaPluginException; }