Bonjour,

Je m'attaque aujourd'hui à la réflexivité, mais j'ai un problème lorsqu'il faut que j'invoque des méthodes ayant pour paramètre un ArrayList<Type>.

Je fais cela, afin d'avoir un design pattern de Factory dynamique (selon une requête SQL et pour des objet lourds/légers).
J'ai déjà réussi pour les objets légers mais bloque pour les objets lourds.

Voici ce que j'aimerais faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
//...
Class[] parameters = new Class[]{ArrayList<Class.forName(sonRs.getString("FKTABLE_NAME"))>.class};
Method setter = cl.getMethod("setSon", parameters);
setter.invoke(OBJET, RAPPEL_FACTORY_AFIN_DE_RECUPERER_LES_FILS);
Sachant que dans ce code:

-je suis en train de setter le père
-la variable sonRs est le ResultSet de fils ayant une foreign key, pointant sur mon père
-la variable retour de getString("FKTABLE_NAME") est:
-le type de l'ArrayList du père
-et le nom de la classe contenue

Mon problème est que la ligne définissant les paramètres ne passent pas. J'entends par la une erreur, pas un problème à l'exécution.

Tout conseil est le bienvenu!

Merci,

Bonne soirée,