Reflection - getReadMethod
Bonjour à tous
Voila mon problème:
J'ai une classe Data.java comme cela:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
package test.thom;
public class Data {
public String dataNumber1 ="";
public String getDataNumber1() {
return dataNumber1;
}
public void setDataNumber1(String dataNumber1) {
dataNumber1 = dataNumber1;
} |
Dans ma classe principale voila ce que j'execute tout simplement:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
public void read(Data dt){
Class classe = Class.forName(Data.class.getName());
Field[] champs = classe.getDeclaredFields();
Constructor ctxConstructor = classe.getConstructor();
Object ctx = ctxConstructor.newInstance();
BeanInfo bi = Introspector.getBeanInfo(classe);
PropertyDescriptor[] propertyDescriptor = bi.getPropertyDescriptors();
int nbFields=champs.length;
for(int i=0;i<nbFields;i++){//1 seul dans mon exemple mais en vrai bcp plus d'ou la boucle for
System.out.println((String)propertyDescriptor[i].getReadMethod().invoke(ctx));
}
}
public static void main(String[] args) {
Data dm = new Data();
dm.setDataNumber1("Hello World");
test.read(dm)
} |
Or en sortie je n'ai rien comme résultat (soit "" la chaine d'init de ma variable dataNumber1)
Auriez vous des idées?
Merci d'avance,
Cdt
Thomas