lundi 5 octobre 2015

Java Reflection: Class Annotations coming back null unexpectedly at runtime

I'm trying to dynamically add an annotation to a class at runtime, as in this question: Modify a class definition's annotation string parameter at runtime

However, the 'annotations' field is coming back null. In fact, according to the debugger, everything on the class is coming back null except for "declaredFields" and "name". I'm using Java 7.

Here's my code:

Field field = Class.class.getDeclaredField("annotations");
field.setAccessible(true);
Map<Class<? extends Annotation>, Annotation> annotations = 
    (Map<Class<? extends Annotation>, Annotation>) 
        field.get(clazz);
annotations.put(JsonIdentityInfo.class, newAnnotation);





Aucun commentaire:

Enregistrer un commentaire