J'utilise la méthode setProperty d'Apache BeanUtils pour importer des données d'un fichier Excel de manière générique. Je fournis à l'analyseur une liste de paires "nom de colum" et "nom de propriété" puis l'analyseur définit les propriétés avec setProperty (..., "nom de propriété", ...) pour les champs Excel qui correspondent à "nom de colonne ". Cela fonctionne bien mais maintenant j'ai un problème, j'ai une propriété qui est définie avec une méthode addXXX() et je ne peux pas changer cette classe. Comment puis-je définir cette propriété sans modifier cette classe ou l'analyseur? Est-ce possible? Puis-je créer quelque chose comme un wrapper avec DynaClass, PropertyUtils ou MethodUtils, donc lors de la définition de cette propriété, il appelle la méthode addXX?BeanUtils avec une méthode addXX
Merci!
Oui, pourquoi utiliser WrapDynaClass lorsqu'un simple décorateur résout le problème. Merci! – fmaste
J'ai fait le docerator mais maintenant je reçois une exception java.lang.InstantiationException lors de la création de l'instance comme je l'ai fait auparavant. Quelqu'un sait pourquoi? – fmaste
'InstantiationException' est levée lorsque la classe est soit abstraite soit une interface ou qu'elle n'a pas de constructeur sans argument public (ou autrement accessible à l'appelant). Votre problème est probablement le dernier. – ChssPly76