Duvida de uso de generics na interface

3 respostas
C

pessoal, eu tenho um trecho de codigo que nao consigo entender :

public interface GenericDAO<T, ID extends Serializable> {
	T findById(ID id, boolean lock);
	List <T> findAll();
	List <T> findByExample(T exampleInstance, String...excludeProperty );
	T makePersistence(T entity);
	void flush();
	void clear();
	

}

alguem pode me ajudar ?

Catarino H

3 Respostas

ctosin

Olá,

Na declaração da interface GenericDAO, estão sendo informados dois tipos de dados: um chamado T (que pode ser qualquer tipo de dado do Java) e um chamado ID (que deve obrigatoriamente ser um tipo derivado de Serializable). Quando um objeto que implementa esta interface for instanciado, o programador deve fornecer quais tipos de dados farão o papel de “T” e “ID”. Por exemplo, vamos supor uma associação do tipo T = String e ID = Integer. A instanciação seria algo do tipo:

GenericDAO<String, Integer> dao = new GenericDAOImpl<String, Integer>();

Depois que a associação for feita, pense nesse código como se ele fosse dessa forma:

public interface GenericDAO {   
    String findById(Integer id, boolean lock);   
    List <String> findAll();   
    List <String> findByExample(String exampleInstance, String...excludeProperty );   
    String makePersistence(String entity);   
    void flush();   
    void clear();

Acho que agora ficou mais fácil de enxergar :smiley: . É assim que você deve pensar quando se deparar com códigos dessa natureza.

Abraços

LPJava

ja tem uma duvida desse tipo no forum… usa o sistema de busca que vc encontra… em detalhes… ate!!

flw!

C

ctosin ,

valeu, agora ficou muito simples de entender !!!!

Catarino

Criado 7 de março de 2008
Ultima resposta 7 de mar. de 2008
Respostas 3
Participantes 3