Supongo que los interesados en las anotaciones de Java, ya habrán hecho su Hello World!con los tutoriales que nos facilita Sun (http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html), por ejemplo. Seguramente, quien desee profundizar se encuentre con alguna que otra duda. Aquí muestro un ejemplo de cómo las annotations a atributos con un caso práctico.
Anotaciones sobre atributos:
Paso 1. Se define la anotación:
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface AtributoNoEditable {}Paso 2. Se añade a la clase deseada:
public class Jugador
{
@AtributoNoEditable
private int id;
private String nombre ;
//resto de implementación de la clase
}Paso 3. Un ejemplo de Reflection sobre la clase y sus anotaciones:
System.out.println("nLista de Atributos");
System.out.println("================");
for(Field f: Class.forName("Jugador").getDeclaredFields())
{
System.out.println(f.getName());
//Primera forma posible
if(f.isAnnotationPresent(AtributoNoEditable.class))
System.out.print(" -Atributo No Editable-");
//Segunda forma posible
for(Annotation a: f.getAnnotations())
if(a instanceof AtributoNoEditable)
System.out.print(" -Atributo No Editable-");
System.out.println();
}Para la creación de anotaciones sobre métodos bastaría con especificarlo con el atributo de clase METHOD en la declaración de la Annotation: @Target(ElementType.METHOD).



