April 05
Prof. Ismael H. F. Santos -  ismael@tecgraf.puc-rio.br                                                          2
Anotações (Java Annotations)
nPara disponibilizar uma anotação que pode ser aplicada a classes e métodos para implementar uma política de verificação de segurança em tempo de execução (runtime) devemos declará-la da seguinte forma:
nimport java.lang.annotation.*; // import this to use @Retention
n@Documented
n@Target({METHOD, TYPE})
n@Retention(RetentionPolicy.RUNTIME)  // available in RUNTIME
npublic @interface SecurityPermission {
n  // Elements that give information for runtime processing
n  String[] value();
n}
nUsando a anotação ....
n @SecurityPermission("ALL") // marca a classe sem restrição de acesso
n   public class AnnotationTest {
n    public AnnotationTest() { SecurityChecker.checkPermission(); ... }
n   @SecurityPermission("None") // marca o método com restrição de acesso
n void Method1() { SecurityChecker.checkPermission(); ... }                
n   @SecurityPermission("ALL") // marca o método sem restrição de acesso
n void Method2() { SecurityChecker.checkPermission(); ... }                
n }