package com.fp.dto.rules; import com.fp.dto.Request; import com.fp.dto.save.SaveRequest; /** * Clase a extender por los comandos que se ejecutan a nivel de transaccion. * * @author Jorge Vaca * @version 2.1 */ public abstract class TransactionRule extends AbstractRule { /** * serialVersionUID */ private static final long serialVersionUID = 1L; /** * Implementa logica de negocio a invocar cuando una transaccion se ejecuta en modo normal. * * @param pSaveRequest Objeto con beans utilizados en el proceso de una transaccion. * @return SaveRequest Objeto con beans utilizados en el proceso de una transaccion. * @throws Exception */ public abstract SaveRequest normalProcess(SaveRequest pSaveRequest) throws Exception; /** * Implementa logica de negocio a invocar cuando una transaccion se ejecuta en modo reverso. * * @param pSaveRequest Objeto con beans utilizados en el proceso de una transaccion. * @return SaveRequest Objeto con beans utilizados en el proceso de una transaccion. * @throws Exception */ public abstract SaveRequest reverseProcess(SaveRequest pSaveRequest) throws Exception; @Override public Request execute(Request pRequest) throws Exception { return this.normalProcess((SaveRequest) pRequest); } }