Salut à tous...
Je cherche (et je n'y arrive pas) à récupérer une annotation (sous le type Annotation) à partir de son nom (String).
Par exemple les annotations sont :
J'ai essayé par Class.forName(String name) mais les type renvoyé sont incompatibles !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 @Retention(RetentionPolicy.RUNTIME) public @interface MaxLenght { int value() default 60; } @Retention(RetentionPolicy.RUNTIME) public @interface Name { String value() default ""; }
J'ai essayé avec une HashMap :
Mais Name et MaxLenght sont non résolu et pourtant sont des annotations du même package.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private static Map<String, Annotation> annoteMap = new HashMap<String, Annotation>(); static { annoteMap.put("name", Name); annoteMap.put("maxLenght", MaxLenght); }
Les outils de l'API Reflect sont insuffisant : les arguments nécéssaires sont toujours les Annotations elles-même...
Si quelqu'un a une idée, il sera le bienvenu... Je ne sais plus trop quoi essayer !
Merci d'avance
Partager