Un poquito sobre Anotaciones

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