lunes, 12 de mayo de 2008

Anotaciones

Las anotaciones son un mecanismo para dotar a las clases de Meta información.

Para acceder a la información de una anotación en tiempo de ejecución utilizamos el API de reflexión: java.reflection, que se ha completado en Java 5 para tener acceso a las anotaciones.

Las anotaciones se utilizan para anotar nuestro código, y la información de la anotación puede estar relacionada con la seguridad (permisos, usuarios, roles), persistencia (transacciones, cache, tablas, esquemas ...), logging ... dando lugar a un nuevo complemento de la POO, la Programación Orientada a Atributos

Un ejemplo de anotacion:

Esta es la anotacion que nos creamos
-----------------------------------------------------
package eticom.anotaciones;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface Desarrollador {

String nombre();


}

---------------------------------------------------------------
Y aqui en la clase UsuarioTest es donde la usamos
--------------------------------------------------------------
package eticom;

import org.testng.annotations.Test;

import eticom.anotaciones.Desarrollador;

public class UsuarioTest {

@Test
public void pruebaAnotacionAutorExiste(){
assert(Usuario.class.isAnnotationPresent(Desarrollador.class)):" no existe la anotación";
Desarrollador annotation = Usuario.class.getAnnotation(Desarrollador.class);
assert(annotation.nombre().equals("Juan")):" no coincide el valor con Juan";
}

}

No hay comentarios: