मैं सलाहकृत विधि कॉल से हस्ताक्षर और तर्क प्राप्त करने में सक्षम हूं, लेकिन मैं यह नहीं समझ सकता कि वापसी मूल्य या अपवाद कैसे प्राप्त करें। मुझे लगता है कि यह किसी भी तरह से आसपास और आगे बढ़कर किया जा सकता है।AspectJ से वापसी मूल्य या अपवाद प्राप्त करना?
14
A
उत्तर
13
आप after() returning
और after() throwing
सलाह the following document की शुरुआत में सलाह दे सकते हैं। यदि आप @AspectJ वाक्यविन्यास का उपयोग कर रहे हैं तो कृपया @AfterReturning
और @AfterThrowing
एनोटेशन देखें (आप नमूने here पा सकते हैं)।
5
around()
सलाह का उपयोग करके, आप proceed()
का उपयोग कर अवरोधित विधि कॉल का वापसी मूल्य प्राप्त कर सकते हैं। यदि आप चाहें तो विधि द्वारा लौटाए गए मूल्य को भी बदल सकते हैं।
उदाहरण के लिए, मान लीजिए आप वर्ग MyClass
के अंदर एक विधि m()
है:
public class MyClass {
int m() {
return 2;
}
}
मान लीजिए आप अपने स्वयं के .aj फ़ाइल में निम्न पहलू है:
public aspect mAspect {
pointcut mexec() : execution(* m(..));
int around() : mexec() {
// use proceed() to do the computation of the original method
int original_return_value = proceed();
// change the return value of m()
return original_return_value * 100;
}
}
6
तुम भी वापसी मान प्राप्त कर सकते हैं सलाह को पुनः प्राप्त करने के बाद का उपयोग करना।
package com.eos.poc.test;
public class AOPDemo {
public static void main(String[] args) {
AOPDemo demo = new AOPDemo();
String result= demo.append("Eclipse", " aspectJ");
}
public String append(String s1, String s2) {
System.out.println("Executing append method..");
return s1 + s2;
}
}
हो रही वापसी मान के लिए परिभाषित पहलू:
public aspect DemoAspect {
pointcut callDemoAspectPointCut():
call(* com.eos.poc.test.AOPDemo.append(*,*));
after() returning(Object r) :callDemoAspectPointCut(){
System.out.println("Return value: "+r.toString()); // getting return value
}
संबंधित मुद्दे
- 1. अपवाद और वापसी मूल्य
- 2. अपवाद बनाम विशेष वापसी मूल्य
- 3. बूस्ट :: थ्रेडेड सदस्य फ़ंक्शन से वापसी मूल्य प्राप्त करना?
- 4. संग्रहित प्रक्रिया से वापसी मूल्य प्राप्त करें
- 5. AspectJ
- 6. सर्वर से मूल्य प्राप्त करना
- 7. वापसी मूल्य
- 8. जावा कोड से वापसी मूल्य
- 9. AspectJ - एनोटेटेड विधि पैरामीटर का मूल्य प्राप्त करें
- 10. एजेक्स कॉल से वापसी मूल्य कैसे प्राप्त करें?
- 11. PHP वापसी (मूल्य); बनाम वापसी मूल्य;
- 12. एक अपवाद फेंक या वापसी अशक्त
- 13. बैश स्क्रिप्ट में matlab से वापसी मूल्य कैसे प्राप्त करें?
- 14. स्प्रिंग AOP या AspectJ
- 15. फ़्रेड से अप्रत्याशित वापसी मूल्य()
- 16. xcodebuild का वापसी मूल्य कैसे प्राप्त करें?
- 17. एक फंक्शन से अपवाद और वापसी परिणाम
- 18. स्प्रिंग एओपी (या AspectJ)
- 19. बच्चे प्रक्रिया से वापसी मूल्य कैसे प्राप्त करें?
- 20. सर्वोत्तम अभ्यास: रेफ पैरामीटर या वापसी मूल्य?
- 21. Lua os.execute वापसी मूल्य
- 22. AspectJ
- 23. क्या मुझे .NET में अपवाद या एप्लिकेशन अपवाद से कस्टम अपवाद प्राप्त करना चाहिए?
- 24. TinyMCE textarea से मूल्य प्राप्त करना
- 25. जावा में एनमसेट से मूल्य प्राप्त करना
- 26. वापसी मूल्य जावास्क्रिप्ट UIWebView
- 27. वापसी मूल्य Mybatis
- 28. अनाम फ़ंक्शन postgresql से वापसी मूल्य
- 29. jQuery AJAX वापसी मूल्य
- 30. वापसी मूल्य देखें?