[AOP] Intercepter une méthode d'une inner class
Bonjour,
J'aimerai savoir s'il est possible d'intercepter les méthodes d'une classe interne. D'une maniere générale, je crée mes actionListener comme cela:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public class MaClasse extends JInternalFrame {
// initialisation des components
...
// initalisation des actions
public void initAction(){
myButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
doSomething();
}
});
}
} |
J'aimerai réaliser un tissage pour intercepter soit la methode actionPerformed, soit doSomething().
Mon fichier de description xml:
Code:
1 2 3 4 5 6 7 8 9 10
| <bean id="myInterceptor" class="com.MyInterceptor"/>
<bean id="myPointCut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
<property name="pattern" value="com.MaClasse.*"/>
</bean>
<bean id="myAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
<property name="pointcut" ref="myPointCut"/>
<property name="advice" ref="myInterceptor"/>
</bean> |
J'ai essayé plusieurs définitions de pattern de pointCut, tels que:
Code:
1 2 3
| <bean id="myPointCut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
<property name="pattern" value="java.awt.event.ActionListener.*"/>
</bean> |
ou
Code:
1 2 3
| <bean id="myPointCut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
<property name="pattern" value="com.MaClasse.*.*"/>
</bean> |
mais rien à faire, je n'intercepte pas ce que je veux...
PS: j'espere que je suis dans la bonne section :)