Prácticamente todos los dias cuando programamos con Java hacemos uso de anotaciones . Algunas de ellas nos son muy sencillas de manejar y otras no tanto .Sin embargo casi nunca nos tenemos que preocupar por como “crear” nuestras propias anotaciones . Este es un tema importante a la hora de desarrollar frameworks pero también a la hora de entender como las anotaciones funcionan.Vamos a dedicar algunos post a este tema. En este primer post vamos a ver como definir una anotación sencilla y usarla para marcar un método.Como punto de partida tenemos un sencillo programa con un método main y un método “MetodoHola” que es invocado desde main.
A continuación mostramos su código fuente
public class Principal001 {
public static void main(String[] args) {
mensaje();
}
public static void mensaje() {
System.out.println("hola desde un metodo anotado");
}
}
Una vez tenemos el código fuente vamos a construir una anotación sencilla que nos permite marcar el método.
Para definir una anotación el código a construir se parece mucho al de un interface. Con la salvedad de que añade una @.
public @interface MarcarMetodo {
}
Una vez creada la anotación podemos utilizarla en nuestro programa para marcar un método.
public class Principal001 {
public static void main(String[] args) {
mensaje();
}
@MarcarMetodo
public static void mensaje() {
System.out.println("hola desde un metodo anotado");
}
}
Acabamos de construir la anotación mas sencilla de todas. Sin embargo habitualmente las anotaciones soportan parámetros y la nuestra es tan sencilla que no tiene ninguno .Vamos a modificar el código de la anotación para que soporte un parámetro.
public @interface MarcarMetodo {
String descripcion();
}
Demonos cuenta que la anotación añade un método que nosotros luego podremos usar en nuestro como propiedad .
public class Principal001 {
public static void main(String[] args) {
mensaje();
}
@MarcarMetodo(descripcion = "primera anotacion")
public static void mensaje() {
System.out.println("hola desde un metodo anotado");
}
}
Realizada esta operación ya tenemos construida nuestra primera anotación.