Annotation

Gostaria que executar um metodo de uma determinada classe antes de executar um metodo da minha classe Teste, sendo que para isso eu criei uma anotacao @Dependency. O problema é que o metod da classe especificado em @Dependency(clazz=“Configuracao”, method=“configurar”) não eh executado anteriormente ao metodo public void inserir() da classe Teste. Alguem tem ideia de como faze-lo?


public class Teste {
	 
	public Teste(){
		System.out.println("Criando Teste");
	}
	
	@Dependency(clazz="Configuracao", method="configurar")  
	public void inserir(){
		
	}
	
	public void notificar(){
		System.out.println(this.getClass().getName()+": notificando");
	}
	
	
	public static void main(String [] asdf){
		Teste t = new Teste();
		t.inserir();
	}
}

e a annotation:

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

 @Retention(RetentionPolicy.RUNTIME)  
 @Target(ElementType.METHOD)  
 public @interface Dependency {  
     public String clazz();  
     public String method();  
 }  

Você pode usar aspecto.

Não pode simplismente colocar a chamada do método que tem que ser executado “antes”, antes do corpo do método ?

public void inserir(){ Configuracao.configurar(); // resto do método }

Valeu fwbrasil, um amigo acabou de recomendar o mesmo que voce!

t+.

aspecto resolve seu problema sim…
Se resolveu acrescente [RESOLVIDO] no final do assunto do post.

oK