[JDK1.5] Obtenir Annotation à partir d'une String
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 :
Code:
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é par Class.forName(String name) mais les type renvoyé sont incompatibles !
J'ai essayé avec une HashMap :
Code:
1 2 3 4 5
| private static Map<String, Annotation> annoteMap = new HashMap<String, Annotation>();
static {
annoteMap.put("name", Name);
annoteMap.put("maxLenght", MaxLenght);
} |
Mais Name et MaxLenght sont non résolu et pourtant sont des annotations du même package.
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