Annotation + interceptor

Oi não estou entendendo porque nao ta chegando minha annotation na interceptor… preciso annotar algo na minha annotation?

meu interceptor:

[code]
@Override
public boolean accepts(ResourceMethod method) {
// intercepta todos.
Annotation[] methodAnnotations = method.getMethod().getAnnotations();
for (Annotation methodAnnotation : methodAnnotations) {
if (methodAnnotation.getClass().equals(NotLoggedIn.class)) {
return false;
}
}

	Annotation[] classAnnotations = method.getMethod().getDeclaringClass()
			.getAnnotations();
	for (Annotation classAnnotation : classAnnotations) {
		if (classAnnotation.getClass().equals(NotLoggedIn.class)) {
			return false;
		}
	}
	return true;
}[/code]

já tentei :

Também não veio nada, vem só as annotation que tem do v-raptor (resource, paht…)

minha annotation não tem nada implementado.

[code]public @interface NotLoggedIn {

}[/code]

Insira na sua annotation:

@Retention(RetentionPolicy.RUNTIME)

aqui há um exemplo

http://vraptor.caelum.com.br/cookbook/interceptando-recursos-anotados/

mas provavelmente o seu problema é o que o colega acima falou

vc precisa colocar na sua anotação, alem do retention, o target…

e um jeito melhor de verificar se a anotação existe é:

public boolean accepts(ResourceMethod method) {
   return method.containsAnnotation(NotLoggedIn.class);
}

assim, tanto se a anotação estiver no método ou na classe da lógica, isso vai retornar true…

se vc quiser usar anotação só no método:

public boolean accepts(ResourceMethod method) {
   return method.getMethod().isAnnotationPresent(NotLoggedIn.class);
}

valeu funcionou com só com o retention pra que serve o target??

valeu pelas dica vo usa dessa forma.

o @Target na anotação diz onde ela pode ser usada, pode ser no método, na classe, no atributo, parametro de método, etc