[Java 5.0] annotation

2386 vistas

Las annotation permiten poner "marcadores" en varios elementos del lenguaje. 蓅tos puedes ser usados por el compilador o otras utilerías de gesti贸n de fuentes para automatizar ciertas tareas,....

En el c贸digo fuente, las annotation se distinguen por la presencia de una arroba (@) delante de los nombre (al estilo de los tags Javadoc) y se declara con la palabra clave @interface:

Declaraci贸n de una anotaci贸n simple:



java
  1. public @interface SimpleAnnotation {
  2. }



Declaraci贸n de una anotaci贸n con atributos:



java
  1. public @interface AttributAnnotation {
  2. String value();
  3. int count();
  4. }



Se usa poniendo la annotation delante del elemento a comentar.

Veamos un ejemplo lleno de annotation:



java
  1. @SimpleAnnotation
  2. public class MiClase {
  3. @SimpleAnnotation
  4. protected String name;
  5. @SimpleAnnotation protected int value;
  6. @AttributAnnotation(value="info", count=3);
  7. public MiClase () {
  8. }
  9. @SimpleAnnotation
  10. @AttributAnnotation(value="m", count=1);
  11. public void metodo () {
  12. }



Java 5.0 introduce tres annotation base:

  • @Deprecated: permite indicar que un elemento ha sido despreciado y no tiene que ser usado
  • @Override: delante de un m茅todo, indica que 茅ste sobrecarga uno heredado de la clase padre
  • @SuppressWarning: permite ignorar algunos warnings en el momento de la compilaci贸n

Tambi茅n existen meta-annotation concevidas exclusivamente para ser usadas con otras annotation:

  • @Documented: permite indicar que la annotation tiene que incluirse en la documentaci贸n generada por javadoc
  • @Inherited: indica que la annotation tiene que ser heredada por las clases hijas
  • @Retention: especifica de qu茅 manera el compilador y la JVM tienen que conservar la annotation
  • @Target: permite limitar los elementos del lenguaje que puedan tomar esta annotation

Adem谩s, Java 5.0 introduce una nueva utilidad de línea de comandos que permite analizar el c贸digo buscando las annotation antes de compilar: APT (Annotation Processing Tool).