All Downloads are FREE. Search and download functionalities are using the official Maven repository.

es.gob.afirma.standalone.plugins.SignDataProcessor Maven / Gradle / Ivy

The newest version!
package es.gob.afirma.standalone.plugins;

import java.util.List;

/**
 * Procesados de los datos de entrada para la identificación de las operaciones de firma a realizar.
 */
public abstract class SignDataProcessor {

	/** Versión de protocolo usado por el script que invoca la operación. */
	private final int protocolVersion;

	/**
	 *
	 * @param protocolVersion Versión de protocolo del script de llamada.
	 */
	public SignDataProcessor(final int protocolVersion) {
		this.protocolVersion = protocolVersion;
	}

	public abstract void setCipherKey(byte[] key);

	/**
	 * Compone las operaciones de firma que deben realizarse a partir de los datos de
	 * @param operation Configuración de la operación solicitada.
	 * @return Listado de operaciones a realizar.
	 */
	public abstract List preProcess(SignOperation operation);

	/**
	 * Compone la respuesta a la operación de firma del cliente.
	 * @param results Listado de resultados de las operaciones de firma.
	 * @param operation Configuración de la operación solicitada.
	 * @return Buffer con las respuestas en forma de cadena de texto.
	 * @throws EncryptingException Cuando se produce un error durante un proceso de encriptado
	 * de la respuesta (si se encriptase.
	 * @throws PluginControlledException Cuando ocurre cualquier otro tipo de error durante el
	 * procesado de las firmas.
	 */
	public abstract StringBuilder postProcess(List results, SignOperation operation)
					throws EncryptingException, PluginControlledException;

	/**
	 * Comprueba si el procesador debería activarse para esta petición.
	 * @param operation Configuración de la operación solicitada.
	 * @return {@code true} si la operación debería
	 */
	public abstract boolean checkTrigger(SignOperation operation);

	/**
	 * Indica si se debería continuar con el procesado de peticiones de firma después
	 * de detectar un error en una de ellas.
	 * @return {@code true} para continuar con el procesado, {@code false} para detenerlo. Por
	 * defecto, {@code false}.
	 */
	@SuppressWarnings("static-method")
	public boolean isErrorsAllowed() {
		return false;
	}

	/**
	 * Recupera la versión de protocolo de invocación.
	 * @return Versión de protocolo.
	 */
	public final int getProtocolVersion() {
		return this.protocolVersion;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy