können Sie verwenden, um den innerhalb oder withincode pointcuts der enthaltenden Klasse entsprechen, und die cflow pointcut die Ausführung des addActionListener() -Methode entsprechen, dann kombinieren, dass mit einem ausführen pointcut, um mit dem body der actionPerformed() -Methode übereinzustimmen.
Zum Beispiel diese pointcut nur die Ausführung der Methode actionPerformed übereinstimmen innerhalb der inneren Klasse InnerTest der Klasse Test (das Paket unter der Annahme test
) und nur im Ablauf der Ausführung des addActionListener Methode:
pointcut innerTest(): within(test.Test.InnerTest) &&
cflow(execution(public void javax.swing.JButton.addActionListener(java.awt.event.ActionListener))) &&
execution(void actionPerformed(ActionEvent));
Wenn Sie nur an Übereinstimmungen mit Aufrufen von actionPerformed() innerhalb der inneren Klasse interessiert sind, können Sie die cflow-Klausel weglassen.
Es ist erwähnenswert, dass, wenn alle sind Sie interessiert die Ausführung eines actionPerformed() -Methode übereinstimmt, würde dies genügen:
pointcut innerTest():
execution(void java.awt.event.ActionListener+.actionPerformed(ActionEvent));