org.griffante.glue.controller
Class AbstractService

java.lang.Object
  extended by org.griffante.glue.controller.AbstractService
All Implemented Interfaces:
Service

public abstract class AbstractService
extends java.lang.Object
implements Service

AbstractService e uma classe abstrata que implementa a interface Service. Essa classe funciona como um adapter, permitindo ao desenvolvedor implementar apenas os metos que o interessam.

Classes do tipo Service tem por funcao fazer o tratamento de uma acao ocorrida durante a execucao de um programa, acoes do tipo:

Esses services sao disparados e devem fazer o tratamento dessas acoes, ou melhor, devem executar os casos de uso da aplicacao. Cada Service e responsavel por um limitado conjunto de casos de uso, esse casos de uso precisam ser validados para o objeto ser persistido, entao entram os business rules... =)

Implemente um Service da seguinte maneira:

    public MyService extends AbstractService {
       ... //atributos necessarios
       public MyService() {
          super("myservice"); // nome da tag XML que sera 
                              // carregada para esse objeto.
       }
 
       // isso e importante para a minimizacao da mao-de-obra do programador:
       public void insert(Object o) throws ServiceException {
                    ... //alguns tratamentos que voce deseja fazer...
          super.insert(o); //isso e importante para que todas as regras de
                           // negocio sejam verificadas.
       }  
    }
 

Since:
0.1.8 - 02/01/2006
Version:
1.0
Author:
Giuliano Bernardes Griffante

Constructor Summary
AbstractService()
          Construtor padrao.
AbstractService(java.lang.String tag)
          Contrutor.
 
Method Summary
 void delete(java.lang.Object o)
          Implementacao da interface Service.
 java.lang.String getTag()
          Retorna a tag que identifica essa classe no arquivo config.xml.
 void insert(java.lang.Object o)
          Implementacao da interface Service.
 java.util.List search(Conditions c)
          Implementacao da interface Service.
protected  void setBusinessRuleFactory(BusinessRuleFactory factory)
          Carrega todos os BusinessRule referentes a esse servico, permitindo assim uma mao-de-obra menor, devido ao fato de que o desenvolvedor nao necessitara instanciar as regras de negocio e tao pouco precisara executa-las, essa tarefa ficara encapsula e transparente para o programador.
protected  void setDAOFactory(DAOFactory daoFactory)
          Carrega o DAO correnspondete a esse Service a partir do arquivo de configuracao.
 void setTag(java.lang.String tagName)
          Informa a tag que representa essa classe no arquivo de configuracao.
 void update(java.lang.Object o)
          Implementacao da interface Service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractService

public AbstractService()
Construtor padrao.


AbstractService

public AbstractService(java.lang.String tag)
Contrutor.

Parameters:
tag - Nome da tag que representa essa classe no arquivo de configuracao.
Method Detail

delete

public void delete(java.lang.Object o)
            throws ServiceException
Implementacao da interface Service. Esse metodo recebe um objeto (VO/DTO/DO/TO) e o prepara (valida) para posteriormente fazer a sua remocao.

Specified by:
delete in interface Service
Parameters:
o - Objeto da acao.
Throws:
ServiceException

insert

public void insert(java.lang.Object o)
            throws ServiceException
Implementacao da interface Service. Esse metodo recebe um objeto (VO/DTO/DO/TO) e o prepara (valida) para posteriormente fazer a sua insercao (persistencia).

Specified by:
insert in interface Service
Parameters:
o - Objeto da acao.
Throws:
ServiceException

search

public java.util.List search(Conditions c)
                      throws ServiceException
Implementacao da interface Service.

Specified by:
search in interface Service
Parameters:
c - Criterios para montar a query no metodo sobrescrito.
Returns:
Lista com todos os objetos que satisfazem as conficoes.
Throws:
ServiceException
See Also:
Conditions

update

public void update(java.lang.Object o)
            throws ServiceException
Implementacao da interface Service. Esse metodo recebe um objeto (VO/DTO/DO/TO) e o prepara (valida) para posteriormente fazer a sua atualizacao.

Specified by:
update in interface Service
Parameters:
o - Objeto da acao.
Throws:
ServiceException

setBusinessRuleFactory

protected void setBusinessRuleFactory(BusinessRuleFactory factory)
Carrega todos os BusinessRule referentes a esse servico, permitindo assim uma mao-de-obra menor, devido ao fato de que o desenvolvedor nao necessitara instanciar as regras de negocio e tao pouco precisara executa-las, essa tarefa ficara encapsula e transparente para o programador.

Parameters:
factory - Algum BusinessRuleFactory
See Also:
XmlBusinessRuleFactory

setDAOFactory

protected void setDAOFactory(DAOFactory daoFactory)
Carrega o DAO correnspondete a esse Service a partir do arquivo de configuracao. Com isso o desenvolvedor fica livre de executar essa tarefa, bastando apenas implementar a classe para persistencia correspondente.

Parameters:
daoFactory - Algum DAOFactory
See Also:
DAOFactory

getTag

public java.lang.String getTag()
Retorna a tag que identifica essa classe no arquivo config.xml. Usada para carregar as regras de negocio pertencentes a esse Service.

Specified by:
getTag in interface Service
Returns:
Tag relacionada.

setTag

public void setTag(java.lang.String tagName)
Informa a tag que representa essa classe no arquivo de configuracao. Se esse valor for null, nao sera possivel carregar as regras de negocio referente a esse servico, ou entao esse trabalho devera ser desenvolvido pelo programador.

Specified by:
setTag in interface Service
Parameters:
tagName - Nome da tag correspondente.