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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.