Mi sarei dovuto spiegare meglio. Supponiamo che con le reflection debba interrogare una classe. Di questa classe conosci solo il nome.
Puoi recuperare i nomi dei metodi di quella classe in questo modo
codice:
Class myClass = Class.forName("NomeClasse");
Object myObj = myClass.newInstance();
Method methodsList[] = myClass.getDeclaredMethods();
Fatto questo, puoi recuperare il nome di ciascun metodo facendo una semplice scansione dell'array
codice:
for(int i = 0; i < methodsList.length; i++) {
Method myMethod = methodsList[i];
}
Ora non resta che chiamare il metodo invoke e il gioco sembra fatto
codice:
for(int i = 0; i < methodsList.length; i++) {
Method myMethod = methodsList[i];
myMethod.invoke(myObj, parameterType);
}
Il problema nasce proprio su come recuperare il parameterType. Se il metodo non ha parametri basta semplicemente
codice:
myMethod.invoke(myObj);
ma se sono uno o più di uno ti serve sapere il tipo. Ad esempio se il parametro che passi al metodo è di tipo String allora sarà
codice:
myMethod.invoke(myObj, "qwerty");
codice:
myMethod.invoke(myObj, new String("qwerty"));
Ho impostato meglio il problema?