J'essaie de résoudre le problème suivant en réflexion. J'ai un POJO qui agit en quelque sorte comme une métadonnée pour la signature de la méthode dans la classe TestResponse. TestResponse a une méthode setDate() qui prend un paramètre Date. J'essaie d'en faire un code générique qui peut accepter n'importe quelle méthode et sa signature pour l'intégrer dans la réponse. Ce que je n'arrive pas à comprendre, c'est comment définir la classe de paramètres tout en appelant getMethod() en fonction de l'entrée. L'entrée me dit de définir le paramètre comme Date, mais je ne suis pas sûr de savoir comment y parvenir.
Voici mon exemple de code. Bien sûr, le mdi.modifier.getClass() n'est pas correct puisqu'il va obtenir String.class au lieu de Date.class.
TestResponse response = new TestResponse();
Object val = "test";
MDIBase mdi = new MDIBase("setDate", "Date");
Method m = response.getClass().getMethod(mdi.method, mdi.modifier.getClass());
m.invoke(response, new Object[] { val });
Voici MDIBase
public class MDIBase {
public String method;
public String modifier;
public MDIBase(String method, String modifier){
this.method = method;
this.modifier = modifier;
}
Toute indication sera très appréciée.
Merci