Problema com Annotation

Nunca usei anotação, estava tentando entender como isso funciona… no meu exemplo eu descobriria se um método tem a minha anotação e se tivesse eu leria os valores da mesma…

Tenho as duas classes no mesmo package

package br.com.daniel.teste.annotation;

public @interface Anotacao
{
	int cod();
	String nome();
	
}

[code]
package br.com.daniel.teste.annotation;

import java.lang.reflect.Method;

public class TesteAnotacao
{
@Anotacao( cod = 10, nome = “teste” )
public int testar()
{
try
{
for (Method m : Class.forName(“br.com.daniel.teste.annotation.TesteAnotacao”).getMethods()) {
if (m.isAnnotationPresent(Anotacao.class)) {
Anotacao aa = m.getAnnotation(Anotacao.class);
System.out.println(aa.cod());
System.out.println(aa.nome());
}
}
}
catch (SecurityException e){ e.printStackTrace(); }
catch (ClassNotFoundException e){ e.printStackTrace(); }
return 10;
}

public static void main (String args[]){
	TesteAnotacao t = new TesteAnotacao();
	t.testar();
}

}[/code]

mas ele não entra no if (m.isAnnotationPresent(Anotacao.class)) { nunca

alguém pode me ajudar?

[]s

o Problema era que faltava isso…

@Retention(RetentionPolicy.RUNTIME)

deveria ser

   1. package br.com.daniel.teste.annotation;  
   2.   
      @Retention(RetentionPolicy.RUNTIME)
   3. public @interface Anotacao  
   4. {  
   5.     int cod();  
   6.     String nome();  
   7.       
   8. }  

[]s