| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/04/2006 19:57:55
|
javaBeats
Java Ninja
![[Avatar]](/images/avatar/28b9f8aa9f07db88404721af4a5b6c11.png)
Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline
|
Hail!
Galera, preciso de uma ajuda no seguinte... Considerem o seguinte código:
Como faço para, a partir de uma instância da classe ESPECIALIZADA, descobrir se existem Annotations no atributo herdado da classe Base?
Eu tentei usar a API padrão de reflect, mas o método getDeclaredFields() não retorna os campos que forem herdados de outra classe =/
O Commons BeanUtils da Apache traz o atributo herdado para mim, mas não há na API - ou ao menos eu não encontrei - um meio de acessar as Annotations de uma propriedade (espero sinceramente estar enganado, e que alguém me indique o caminho =)
Por fim, o bendito java.beans.Introspector, que também foi capaz de identificar todas as propriedades (claro, o Commons BeanUtils é escrito sobre ele =), mas não soube como recuperar Annotations sobre as mesmas.
Alguma idéia, pessoal?
Desde já, eu agradeço!
Rodrigo
|
"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2006 21:13:25
|
javaBeats
Java Ninja
![[Avatar]](/images/avatar/28b9f8aa9f07db88404721af4a5b6c11.png)
Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline
|
Ninguém...?
Ou o que eu estou pedindo é tão ridículo e óbvio, só eu que não vi? =D
Valeu!
|
"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2006 23:01:38
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Se você tem os objetos Field, basta chamar Field.getDeclaredAnnotations(), não são as anotações do Campo que você quer?
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2006 23:30:36
|
javaBeats
Java Ninja
![[Avatar]](/images/avatar/28b9f8aa9f07db88404721af4a5b6c11.png)
Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline
|
Sim companheiro, mas se você olhar a documentação desse método, vai ver que ele não retorna os campos herdados de super classes, que é o que eu preciso, nesse caso.
Rodrigo
|
"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2006 23:33:58
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Campo herdado? Esse é o objeto Field, que representa um atributo em um objeto. Você não disse lá em cima que já tinha todos os campos (os objetos Field) que precisava?
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2006 23:59:11
|
javaBeats
Java Ninja
![[Avatar]](/images/avatar/28b9f8aa9f07db88404721af4a5b6c11.png)
Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline
|
Sim, usando o Commons BeanUtils ou o Introspector, mas estes não trazem annotations destes campos... Eu teria que recuperar o campo, e depois chamar getField(name) para ter uma instância de Field e pegar as annotations dele. Acontece que eu gostaria de saber se já posso recuperar essas annotations durante a introspecção, com o BeanUtils, Introspector, ou qualquer outro recurso que vocês possam me sugerir =D
Mas se não for possível, tudo bem, basta fazer a introspecção e depois recuperar a instância de Field, que tem as Annotations.
Rodrigo
|
"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2006 00:00:23
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Não, não é possível fazer isso via BeanUtils não, você tem que pegar o Field e chamar o método getAnnotatios() nele.
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
|
|