Invoquer des getter de façon dynamique
Bonsoir la team,
je ne sais pas si c'est possible alors après quelques recherches infructueuses, je sollicite votre aide.
J'ai plusieurs classes dans mon application Java JEE, qui elle-même possèdent plusieurs méthodes.
Je souhaiterais appeler une méthode d'une classe donnée de façon dynamique. Est-possible?
Je vous soumet un exemple avec ce que j'ai pu trouver.
J'ai une classe qui s'apelle "maClasse". Et à l'intérieur de cette classe une méthode s'appellant "getAttribut".
Pour effectuer cela, est ce possible de faire ceci :
1) Initialiser ma classe dynamique.
2) Initialiser la méthode dynamique de ma classe.
3) Appeler cette méthode dynamique pour récupérer le résultat.
Code Java::
Code:
1 2 3 4 5 6 7 8 9 10
| public class maClasse
{
String attribut;
public String getAttribut() {
return attribut;
}
//Note: les autres fonctions, comme le setter ne sont pas représentées.
} |
Mes recherches ont donnée ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class classeDeTest
{
// constructeur de classe
public classeDeTest () {
// 1) Initialiser ma classe dynamique.
Class c = Class.forName("maClasse");
// 2) Initialiser la méthode dynamique de ma classe.
Method m = c.getMethod("getAttribut");
// 3) Appeler cette méthode dynamique pour récupérer le résultat.
Object monResultat = m.invoke(c.newInstance(), null);
}
} |
Qu'en pensez-vous?
Berni.