Setter e Getter

6 respostas
Lenin666

Galerinha gente boa, blz?!

Pessoal, estou com um Grande problema…

Eu preciso “Concatenar” nomes de Setters e Getters para alimentar um pojo.

Detalhando:

Eu tenho uns 60 Getters e Setters com seus respectivos nomes assim: getNome1, getNome2…etc, nao me perguntem quem fez isso, mas a coisa jah estava assim…rs.

E eu preciso dar uma carga nesses setters e getters, mas eu nao queria criar uma lista com os 60 elementos, eu queria jogar dentro de um laco.

Serah q eu consigo fazer isso?!

Eu tentei fazer algo do tipo:

for(int i=1; i<=60; i++){

classe.setPosicao<a>i</a>;

}

mas nao rola…

Valeu galera!

6 Respostas

vanderlanio

utilize Reflection :wink:

Tutorial : http://www.guj.com.br/java.tutorial.artigo.10.1.guj

Jair_Rillo_Junior

Como o amigo disse, através de Reflection é possível, mas será que não seria uma boa hora de fazer um refactoring na sua aplicação não? Dá medo só de imaginar esses 60 fields…

vanderlanio

boa ! ! :wink:

O

Essa tb eu não entendi. Minha intuição diz o caminho já foi mostrado: reflection, mas preciso saber exatamente o que vc quer pra certificar.

MiguelCP

Tambem concordo com o ManchesteR, vai que seja ate melhor pra vc fazer umas alterações, poderia facilitar seu trabalho.

Lenin666

E ae galerinha, muito obrigado pelas respostas…

O reflection me fez refletir…hehe

Entao, eu nao poderia simplesmente alterar o pojo jah existente, dai o reflection me clareou tudo!

Eu consegui resolver assim:

for(int i = 1; i<=LACO_ITERACAO; i++){

Produto produto = new Produto();

Loja loja = (Loja) new Loja().data(dd);

produto.setLoja(loja);

try {

Class clazz = Class.forName(Util.Data.java.Loja);

Method method = clazz.getMethod(getProduct + i, null);
String stringPosicao = (String) method.invoke(produto, null);
            produto.setPosicao(stringPosicao);
        }
catch (Exception e) {}
produtos.add(produto);
    }
return produtos;

}

Valeus muito galera!

Criado 24 de julho de 2008
Ultima resposta 24 de jul. de 2008
Respostas 6
Participantes 5