[RESOLVIDO] Duvida sobre Generics  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
guivirtuoso
JavaTeenager
[Avatar]

Membro desde: 05/04/2006 23:52:21
Mensagens: 185
Localização: Florianópolis - SC
Offline

Boa tarde Pessoal,

Supondo que eu tivesse a classe de dominio: br.com.guj.Usuario

E na classe TesteClass eu irei printar o Class desse dominio.


Utilizando a classe:

A saída seria: class br.com.guj.Usuario


Agora eu gostaria de deixar a classe TesteClass de forma genérica:



Utilizando a classe:


Gostaria que ao utilizar a classe de forma generica, lá na TesteClassGeneric ele conseguisse ver o Tipo que passei, e pudesse chegar ao .class dela.

Teria como Fazer isso?

This message was edited 1 time. Last update was at 16/09/2011 07:37:30


Guilherme H. F. Virtuoso
Florianópolis - SC

@virtuosoBR
[Email] [MSN]
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Oi!

Não entendi muito a sua dúvida, mas algo assim talvez lhe ajude:



Seria isso ou queres pegar a classe de outra forma?

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
guivirtuoso
JavaTeenager
[Avatar]

Membro desde: 05/04/2006 23:52:21
Mensagens: 185
Localização: Florianópolis - SC
Offline

Conforme o exemplo que mencionei...

Se eu instanciar a classe TesteClassGeneric<Usuario>, passando NO tipo generico a classe Usuario,

eu gostaria de imprimir o Usuario.class, no casso o tipo T.class ... da umaolhada com calma no exemplo que passei que você vai entender. :wink:

This message was edited 1 time. Last update was at 15/09/2011 16:45:49


Guilherme H. F. Virtuoso
Florianópolis - SC

@virtuosoBR
[Email] [MSN]
g4j
GUJ Ranger
[Avatar]

Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline

Guilherme,

Acho que sei o que você quer. Dê uma olhada neste post no blog da caelum:

http://blog.caelum.com.br/brincando-com-generics-o-bizarregenericdao/

Gerson Luiz Chagas

SCJP 5.0
SCWCD 5.0

guivirtuoso
JavaTeenager
[Avatar]

Membro desde: 05/04/2006 23:52:21
Mensagens: 185
Localização: Florianópolis - SC
Offline

Fala g4j,

li a matéria a respeito.. .e é exatamente isto que preciso.

Vou realizar os testes quando chegar em casa... e dou o feedback.

Muitissimo Obrigado.

Guilherme H. F. Virtuoso
Florianópolis - SC

@virtuosoBR
[Email] [MSN]
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

guivirtuoso wrote:Fala g4j,

li a matéria a respeito.. .e é exatamente isto que preciso.

Vou realizar os testes quando chegar em casa... e dou o feedback.

Muitissimo Obrigado.


Eu acho que da forma que você quer não dá pra fazer.

Esse exemplo da caelum é para uso de herança.

Você teria que estender a classe que contém o método printClass() para poder usar o recurso.

Tipo assim:

Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
g4j
GUJ Ranger
[Avatar]

Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline

O romarcio tem razão. Necessita invokar getGenericSuperclass().

Não testei, mas acho que vem null sem herança.

Gerson Luiz Chagas

SCJP 5.0
SCWCD 5.0

guivirtuoso
JavaTeenager
[Avatar]

Membro desde: 05/04/2006 23:52:21
Mensagens: 185
Localização: Florianópolis - SC
Offline

Rapaziada,

Realizei os testes com a sugestão do Romarcio, e de fato funcionaram muito bem.

Queria agradecer a todos pela ajuda!

Levantei essa questão para usar numa classe DAO que fosse Base para todas as outras DAOs do sistema.

E nessa classe basica no caso.. BaseDAO .. tem os metodos comuns tipo save, update e delete, e não estava conseguindo definir um metodo base para um "listarTodos()" usando session.createCriteria( Dominio.class ).list()

Sendo assim como minha DominioDAO extends BaseDAO<Dominio> agora posso deixar inclusive caras como um listTodos() na classe BaseDAO e especializar as consultas quando necessário.

Vlw pessoal.

Guilherme H. F. Virtuoso
Florianópolis - SC

@virtuosoBR
[Email] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team