Você está na página 1de 5

ANNOTATIONS

Professor: Edmilson Domaredzki Verona


ANNOTATIONS
 Objetivo é possibilitar a declaração de metadados nos
nossos objetos.
 Configurações
de uma classe podem ficar dentro dela, em vez
de em um XML.
 Algumas annotations:
 Indicarque um método não deve mais ser usado
(@Deprecated).
 Método foi sobrescrito (@Override).
 Configurar um método como teste do JUnit (@Test).
ANNOTATIONS
 Não são códigos executáveis, que mudam o que é
executado ou não.
 Metadados: informações (dados) que falam sobre nossa
classe mas não fazem parte da classe em si.
 Metadados são muito usados para configurações de
funcionalidades anexas àquela classe.
 Usamos anotações para criar configurações com objetivo
de que depois essas anotações sejam lidas e processadas
por alguém interessado naquelas informações.
EXEMPLO
 Marcação de uma Annotation:
@NomeAnnotation
 Definição de uma annotation:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Coluna {
int posicao();
}
 Uma forma de usar:
for (Method metodo : classe.getDeclaredMethods()) {
if (metodo.isAnnotationPresent(Coluna.class)) {
Coluna anotacao = metodo.getAnnotation(Coluna.class);
if (anotacao.posicao() == coluna)
return metodo.invoke(objeto, args);
}
}
}
EXERCÍCIO
 Criar uma classe contendo os seguintes atributos com os
métodos get e set para cada atributo:
 Id, nome e escala.
 Criar uma anotação que receba um intervalo numérico e
um valor padrão (três argumentos inteiros).
 Criar um objeto da classe e verificar se o valor do
atributo escala está dentro do intervalo passado na
annotation, e caso não esteja atualizar o valor para o
padrão.
 (de 1 até 5 por exemplo deixa como está)
 Maior ou menor que o intervalo, set o valor padrão 0.

Você também pode gostar