Las Anotaciones en Java permiten añadir metadatos al lenguaje Java (desde la versión 1.5).
Se pueden anotar Clases, métodos, variables, parámetros y paquetes.
Las anotaciones pueden introducirse en el fichero .class de modo que estén disponibles en ejecución.
Una anotación tiene este aspecto:
Una vez definida se usa de esta forma:
En la anotación hemos visto los siguientes elementos:
![]()
La Anotación @Retention indica cuándo están disponibles las anotaciones. Permite:
· RetentionPolicy.SOURCE àlas anotaciones solo están disponible a nivel código Fuente (se ignoran por el compilador)
· RetentionPolicy.CLASS àlas anotaciones están disponibles en tiempo de compilación pero se ignoran por la VM
· RetentionPolicy.RUNTIME àlas anotaciones están disponibles para la VM en ejecución.
![]()
La anotación @Target indica los elementos de una clase en los que aplica la Anotación. Puede ser una lista de varios:
@Target(ElementType.TYPE) àaplicable a cualquier elemento de una clase
@Target(ElementType.FIELD) à applicable a un campo o propiedad
@Target(ElementType.METHOD) àa un método
@Target(ElementType.PARAMETER) àal parámetro de un método
@Target(ElementType.CONSTRUCTOR) àal constructor
@Target(ElementType.LOCAL_VARIABLE) àa una variable local
@Target(ElementType.ANNOTATION_TYPE) à a una anotación
Es usual necesitar acceder a las anotaciones realizadas en código en una aplicación. Por ejemplo para la anotación mostrada @Unfinished nos podría interesar procesarla para generar un Report con todo el código no acabado:



Deja un comentario