Existe-t-il des bibliothèques Java qui me permettent d'utiliser BeanUtils comme l'accès aux propriétés bean.prop1.prop2
tout en permettant l'accès aux annotations sur le getter/champ lui-même?Accès aux propriétés du bean et annotations
Par exemple, j'ai une classe de haricots qui ressemble à ceci:
public class Child {
@SomeCustomAnnotation
private String name;
//standard bean getter setters
}
public class Parent {
private Child child;
//standard bean getter setters
}
Et je voudrais être en mesure de récupérer non seulement la valeur de la propriété que je suis à la recherche, mais aussi des annotations annotés sur ce champ dont la valeur est renvoyée:
String childsName = SomeLibrary.getValue(parent, "child.name");
Annotation[] annotationsOnChildsName = SomeLibrary.getAnnotations(parent, "child.name");
Existe-t-il des bibliothèques permettant les deux fonctionnalités? Je peux utiliser Commons BeanUtils pour faire l'accès aux propriétés pures pour les valeurs et Plain Reflection pour obtenir les annotations sur les propriétés, mais il ne semble pas y avoir un moyen de combiner les deux capacités.
de la réflexion La nuance est que je voudrais ici pour être en mesure de soutenir l'accès par le biais des conventions de haricots Java standard (ie. 'GetName()' et champ 'nom') ainsi que les propriétés imbriquées – BuffaloBuffalo
Je pensais à cela et je ne suis pas sûr que ce soit vraiment possible, c'est à dire: vous ne pouvez le faire que sur la base de la convention. Par exemple, mon champ privé peut ne pas être nommé de la même manière que le accesseur de lecture ou même être du même type. –
'getField' ne donne qu'un champ accessible au public, utilisez' getDeclaredField' pour obtenir des champs protégés – gerrytan