java - sirven - procesamiento de anotaciones dentro de un cuerpo de método
reflection en java (2)
Estoy procesando las anotaciones de Java utilizando la API Pluggable Annotation Processing. ¿Es de alguna manera posible también procesar anotaciones usadas dentro de un cuerpo de método?
gracias por la ayuda. Peter
En JSR269, la interfaz relevante sería javax.lang.model.element.VariableElement
, que hereda getAnnotation(Class<A> annotationType)
para acceder a tales anotaciones:
for (VariableElement variable : ElementFilter.fieldsIn(methods)) {
final AnnotationType annotation = variable.getAnnotation(AnnotationType.class);
if (annotation != null) {
// ...
}
}
Creo que encontré la solución. Como pensé, no es posible con el javac actual. las anotaciones locales son comentarios simples y no se procesarán con la API de procesamiento de anotación conectable. PERO hay esfuerzos interesantes en JSR308 , manejo de anotaciones de tipo que soportan cosas maravillosas como parámetros en variables de tipo, variables locales, verificación de tipo anotado y fundición ... y como se ve, se incorporará en openJDK 8. nice