/*
*
* Copyright (c) 2013 - 2014 INT - National Institute of Technology & COPPE - Alberto Luiz Coimbra Institute
- Graduate School and Research in Engineering.
* See the file license.txt for copyright permission.
*
*/
package service.anotacao;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target (ElementType.METHOD)
@Retention (RetentionPolicy.RUNTIME)
public @interface Transacional
{}
/*
Os tr�s tipos de anota��es existentes no Java 5 s�o:
- Override
- Deprecated
- SuppressWarnings
A palavra-chave @interface diz ao compilador que
estamos definindo uma anota��o em vez de uma interface
normal.
O target de uma anota��o representa o elemento do
programa que est� sendo anotado. Uma anota��o pode ser
utilizada para anotar um package, uma classe, uma
interface, um m�todo, um campo, etc.
A reten��o de uma anota��o significa por quanto tempo
a informa��o contida na anota��o ser� retida. Algumas
anota��es s�o descartadas pelo compilador e aparecem
apenas no c�digo fonte. Outras s�o compiladas e
armazenadas no arquivo .class. Dentre estas, algumas
s�o ignoradas pela m�quina virtual, e outras s�o lidas
pela m�quina virtual quando a classe � carregada.
Anota��es que s�o carregadas pela m�quina virtual s�o
vis�veis em tempo de execu��o e podem ser pesquisadas
pela API de reflex�o Java.
As tr�s possibilidades de reten��o s�o:
RetentionPolicy.SOURCE
RetentionPolicy.CLASS
RetentionPolicy.RUNTIME
Diferentemente de Override e Deprecated,
SuppressWarnings n�o � uma anota��o de marca��o. Ela
possui um �nico membro denominado value cujo tipo �
String[]. Os valores desse membro s�o os warnings a
serem suprimidos pelo compilador. A anota��o
SuppressWarnings n�o define quais nomes de warnings s�o
permitidos: esta � uma responsabilidade dos
implementadores dos compiladores. Para o compilador
javac os nomes s�o: "unchecked" e "fallthrough".
Exemplo:
@SuppressWarnings(value={"unchecked", "fallthrough"})
*/