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:
Sachant que dans ce code:
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);
-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,
Partager