[Java 5.0] Obtener las annotations de un objeto

2043 vistas

Java 5.0 permite marcar ciertos elementos del lenguaje con Anotations, las cuales pueden ser accesibles durante la ejecución siempre y cuando su retention sea RetentionPolicy.RUNTIME.

El paquete java.lang.reflect tiene una interfaz que describe cuatro métodos que dan acceso a las annotations:

  • getAnnotation(Class): permite obtener una annotation en particular
  • getAnnotations(): permite obtener una tabla con todas las annotations
  • getDeclaredAnnotations(): permite obtener una tabla con todas las annotations declaradas directamente en el objeto ignorando las heredadas de la clase padre
  • isAnnotationPresent(Class): permite saber si tiene una determinada annotation

Esta interfaz se llama AnnotatedElement y la implementan las siguientes clases: Class, Package, Constructor, Method y Field. Además, las clases Constructor y Method tiene también un método (getParameterAnnotations()) para acceder a las annotations de sus parámetros.