Capturar chamada a um setter

5 respostas
Felagund

Pessoal, gostaria de saber, se a alguma maneira de capturar a chamada a um setter dinamicamente, seguindo a padrão, verificar se o metodo tem um set, se tiver executar uma ação antes de invocar esse metodo. Alguem ai tem alguma ideia, ou sabe como fazer isso?

O metodo tem que ser dinamico, em runtime capturar as chamadas.

obrigado pela atenção

att

5 Respostas

rafaelbtz

Acho eu que uma maneira é usando um Proxy, assim é como o Hibernate faz.

Mas ai se eu não me engano vc vai precisar de uma factory para as classes não da pra chamar o construtor direto

Guilherme_Gomes

Existe um jeito: Aspectos

Da uma olhada em AspectJ.

Felagund

o AspecJ não funciona mto bem com o Netbeans, pelo - no teste que eu fiz.

Usar proxy não é uma boa excolha pois para cada classe vou ter que ter uma interface, e isso vai encher o programa com código desnecessário, gostaria de algo mais dinamico.

Vou testar o google guice para ver como que sai, se alguem tiver mais alguma ideia posta ai.

ramilani12

Como assim não funciona?, vc pode ignorar o plugin e utilizar o comando para compilar ajc
Acredito que é uma boa saida utilizar AOP para interceptar estes metodos.

Felagund

na verdade fiz um teste bem simples, mas quando criei um public aspect ele deu pau, agora o GUICE funcionou sem problemas, e me parece ser mais simples.

:slight_smile:


Pessoal agora me surgiu outra duvida, gostaria que somente quando chamado da propria classe o metodo fosse interceptado, de outras classes não.

Alguém?

Criado 17 de fevereiro de 2009
Ultima resposta 17 de fev. de 2009
Respostas 5
Participantes 4