Bonjour,
j'utilise l'introspection pour lancer des méthodes settrer ,mais ça marche pas pour les setter qui ont en paramètre des types non primitifs.
voici un bout de mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
final Method getterMethod = sourceClass.getMethod(getter, null);
final Object resultGetter = getterMethod.invoke(currentSource, null);
 
                        Class[] parametres = new Class[1];
                        parametres[0] = currentAttribute.getType();
 
final Method setterMethod = destinationClass.getMethod(setter, parametres);
setterMethod.invoke(currentDestination, resultGetter);
 
                listOfDestinations.add((D)currentDestination);
le message d'erreur est le suivant
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sensoredabmigration.application.Converter.convert(Converter.java:82)
at com.sensoredabmigration.application.Main.main(Main.java:141)


merci d'avance !