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 }