आप युक्त वर्ग से मेल करने के के भीतर या withincode pointcuts उपयोग कर सकते हैं, और cflow pointcut addActionListener() विधि के निष्पादन से मेल खाते हैं, तो गठबंधन है कि एक साथ निष्पादित को कार्रवाई के शरीर से मेल खाने के लिए पॉइंटकट।() विधि।
उदाहरण के लिए इस pointcut केवल वर्ग टेस्ट के भीतरी वर्ग InnerTest भीतर actionPerformed विधि के निष्पादन से मेल खाएगी और केवल addActionListener विधि के निष्पादन के प्रवाह के भीतर (पैकेज संभालने test
है):
pointcut innerTest(): within(test.Test.InnerTest) &&
cflow(execution(public void javax.swing.JButton.addActionListener(java.awt.event.ActionListener))) &&
execution(void actionPerformed(ActionEvent));
यदि आप केवल आंतरिक वर्ग के भीतर कार्रवाई से मेल खाने में रुचि रखते हैं तो आप सीएफएलओ क्लॉज को छोड़ सकते हैं।
यह ध्यान देने योग्य है कि सभी यदि आप में किसी भी actionPerformed() विधि के निष्पादन मिलान है रुचि रखते हैं फ़ायदेमंद है, पर्याप्त होगा:
pointcut innerTest():
execution(void java.awt.event.ActionListener+.actionPerformed(ActionEvent));
स्रोत
2009-09-06 17:04:30