package br.com.centralit.citsmart.rest.operation; import javax.xml.bind.JAXBException; import br.com.centralit.citsmart.rest.bean.RestOperationDTO; import br.com.centralit.citsmart.rest.bean.RestSessionDTO; import br.com.centralit.citsmart.rest.schema.CtMessage; import br.com.centralit.citsmart.rest.schema.CtMessageResp; /** * Interface para execu��o de uma opera��o REST cadastrada no sistema {@link RestOperationDTO} * * @param <T> * objeto JAXB da request * @param <U> * objeto JAXB da response */ public interface IRestOperation<T extends CtMessage, U extends CtMessageResp> { /** * Executa uma opera��o REST previamente cadastrada no sistema * * @param session * sess�o do usu�rio que realizou a chamada * @param operation * opera��o REST * @param message * {@code T extends CtMessage}, request a ser processada * @return {@code U extends CtMessageResp}, response a ser serializada * @throws JAXBException */ U execute(final RestSessionDTO session, final RestOperationDTO operation, final T message) throws JAXBException; }