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:
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:
La siguiente linea analizar es @Retention determina cuanto tiempo deben estar disponibles los datos de la anotación, los valores posible son los siguientes:
Como simpre esto se ve mejor con un ejemplo, tengo un ejemplo subido a github.com
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
@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
@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
Como simpre esto se ve mejor con un ejemplo, tengo un ejemplo subido a github.com