/* * Biblioteca de código Java * Desenvolvida por Diego Tadeu e Jose Renato */ package jrdis.gen.dao; import com.tecgraf.dao.DAOException; import com.tecgraf.dao.IGenericDAO; import jrdis.gen.objeto.IObjetoComEstados; /** * IDAO e uma interface que propoem metodos para fazer a comunicacao com a base * de dados, recuperar os dados ou descarregar objetos. * * Essa interface propoem alguns metodos para faciliar a manipulacao da * interface IGenericDAO. * * A grande vantagem em utilizar a interface IDAO (que pode ser usada como * implementacao a classe AbstractDAO) e quando os objetos estao implementando a * interface IObjetoComEstado. A classe que implementa essa interface podera * tomar decisoes quanto o que deve ser feito com o objeto passado, deixando a * responsabilidade da decisao do que fazer com o objeto para essa classe, algo * que nao acontece com IGenericDAO, que obriga o usuario da classe a decidir o * que deve ser feito com objeto manipulado, se deve ser inserido, alterado ou * excluido. * * @param T e o tipo do objeto que sera manipulado. * * @see objeto.IObjetoComEstados * @see dao.AbstractDAO * @see com.tecgraf.dao.IGenericDAO * * @author Diego Tadeu e Jose Renato */ public interface IDAO extends IGenericDAO { // Declaracao de constantes public static final String MSG_ERRO_ARMAZENANDO_OBJETO = "Ocorreu um erro ao armazenar os dados."; // Fim da declaracao de constatntes /** * objetoExiste ira buscar na base de dados o objeto passado por parametro. * * @param objeto que pesquisado. * @return true caso a busca encontre algum registro com o objeto pesquisado * e false caso contrario. * @throws com.tecgraf.dao.DAOException */ public boolean objetoExiste(T objeto) throws DAOException; /** * descarregar faz uma analise do objeto passado, verificando o seu estado * interno, e realiza a operacao correspondente. * @see objeto.IObjetoComEstados * * @param objeto a ser descarregado (inserido, alterado ou excluido). * @throws com.tecgraf.dao.DAOException */ public void descarregar(T objeto) throws DAOException; } // Fim da interface IDAO