miércoles, 8 de octubre de 2014

Anotaciones Java

Hola

Esta entrada voy a explicar como crear  nuestras propias anotaciones java y usarlo. Las anotaciones Java aparecieron en la version 1.5 de java, seguro que lo habéis usado por ejemplo:

  • @Override
  • @SuppresWarning
  • @Deprecated
Para crear nuestro anotación tenemos que crear una interface pero un poco especial como podemos ver en ejemplo tenemos que poner la @ delante de la palabra interface.


@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnotacion{
String valorInicial() default "algo";
}

Vamos a analizar el codigo, lo primero el @Target es donde determinamos donde podemos usar nuestra anotación a nivel de clase, metodo, campos, etc. Los valores posibles son los siguientes:
  • ANNOTATION_TYPE
  • CONSTRUCTOR
  • FIELD  
  • LOCAL_VARIABLE 
  • METHOD  
  • PACKAGE 
  • PARAMETER  
  • TYPE
Como se puede ver el mismo nombre nos indica donde podemos usar nuestras anotaciones, tambien podemos usar combinaciones por ejemplo

@Target({ElementType.CONSTRUCTOR, ElementType.METHOD})

La siguiente linea analizar es @Retention determina cuanto tiempo deben estar disponibles los datos de la anotación, los valores posible son los siguientes:
  • SOURCE : Solo visible en source ignorada por el compilador y JVM
  • CLASS : El compilador lo puede ver y actuar pero es ignorada JVM
  • RUNTIME : La JVM puede ver la anotacion y utilizar en tiempo de ejecucion por reflection
Con esto ya tenemos nuestra anotación como podeis ver se puede asignar valores por defecto usando la palabra reservada default.

Como simpre esto se ve mejor con un ejemplo, tengo un ejemplo subido a github.com 

No hay comentarios:

Publicar un comentario