Pegar todos os getters de uma classe  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
cafezin
JavaBaby
[Avatar]

Membro desde: 11/02/2010 09:36:42
Mensagens: 78
Offline

Bom dia Pessoal,

Será que é possível eu percorrer todos os métodos getters de uma classe e então usá-los?
Segue um exemplo



Eu sei que existe o getDeclaredMethods(). Então estou tentando algo do tipo

Obrigado pela ajuda
drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Antes de responder, qual a razão para isto?

Então, sim, é possível fazer isto sim.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
jyoshiriro
Virtual Machine Man
[Avatar]

Membro desde: 17/06/2009 14:14:39
Mensagens: 587
Offline

Já experimentou a biblioteca Apache Commons BeanUtils?
http://commons.apache.org/beanutils/

Não ficou bem claro o que você quer mas imagino que essa biblioteca possa te ajudar. Ela deixa transparente muita coisa que daria trabalho via Reflection do Java.

This message was edited 2 times. Last update was at 26/05/2011 10:48:58


José Yoshiriro Ajisaka Ramos

OCUP Fundamental / SCJP 6 / SCWCD 5 / SCBCD 5
[Email] [WWW]
lgi2020
Virtual Machine Man
[Avatar]

Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline

Pra trabalhar com Reflection tem também a Mirror DSL:
http://projetos.vidageek.net/mirror/
http://blog.caelum.com.br/mirror-dsl-facilitando-o-uso-da-api-de-reflection/

Abraços.

Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
[WWW]
cafezin
JavaBaby
[Avatar]

Membro desde: 11/02/2010 09:36:42
Mensagens: 78
Offline

drsmachado wrote:Antes de responder, qual a razão para isto?

Então, sim, é possível fazer isto sim.


drsmachado

É o seguinte, é criado dinamicamente na aplicacao alguns objetos, onde todos os atributos são do tipo String. (Ex: MinhaClasse.class)
Eu gostaria de pegar esses objetos e transforma-los em outros com uma estrutura especifica. E para que essa transformacao ocorra só preciso pegar o retorno dos metodos getters.
Já consigo filtrar só os getters, só preciso invoca-los e usar seus respectivos retornos(que serão sempre String por sinal).

Peço desculpas se ainda não fui muito claro.

Saudações
jyoshiriro
Virtual Machine Man
[Avatar]

Membro desde: 17/06/2009 14:14:39
Mensagens: 587
Offline

Então realmente acho que o Commons BeanUtils te ajudará:

http://commons.apache.org/beanutils/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/BeanUtils.html (acho que está aqui tua solução)
http://commons.apache.org/beanutils/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/BeanUtilsBean.html

José Yoshiriro Ajisaka Ramos

OCUP Fundamental / SCJP 6 / SCWCD 5 / SCBCD 5
[Email] [WWW]
rogelgarcia
GUJ Master
[Avatar]

Membro desde: 21/06/2007 23:27:21
Mensagens: 1850
Offline

Tá faltando só dar uma lidinha nos métodos da classe Method... que seu problema tá resolvido...

Uma dica: Você deve "invocar" o método...

Rógel Garcia, criador do framework NEXT

http://www.nextframework.org
leoviniga
JavaGuru
[Avatar]

Membro desde: 06/01/2011 14:04:49
Mensagens: 222
Localização: Curitiba
Offline

rogelgarcia wrote:Tá faltando só dar uma lidinha nos métodos da classe Method... que seu problema tá resolvido...

Uma dica: Você deve "invocar" o método...

Também aconselharia a classe Method...quando precisei de algo semelhante ela tinha todos os recursos que eu precisava...

Boa sorte >>> Three Swedish switched witches watch three Swiss Swatch watch switches. Which Swedish switched witch watch which Swiss Swatch watch switch?

Ficar quieto quando se deveria protestar faz de um homem um covarde, protestar quando se deveria ficar quieto faz de um homem um idiota
cafezin
JavaBaby
[Avatar]

Membro desde: 11/02/2010 09:36:42
Mensagens: 78
Offline

Pois é rogelgarcia.

Eu tinha encontrado o metodo, mas nao tinha entendido como usa-lo. Mas deu certo já.

O que precisa ficar claro, se mais alguém tiver essa dúvida é o seguinte.

só diz respeito a classe mesmo. (Tudo bem, é óbvio mas nao tinha me dado conta)
E, para invocar basta chamar o metodo invoke(Object obj, Object[] args)
Onde o "obj" é o objeto que foi instanciado a partir desta classe e o args sao os parametros que o metodo precisa

Obrigado a todos e tenham um bom dia!
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team