मैं एक संपत्ति भी एक टिप्पणी है कहते हैं:मेटा-एनोटेशन के लिए एनोटेशन गुण पासिंग
@Named(name = "Steve")
private Person person
और मैं एक है कि एक संपत्ति लेता सहित कई मेटा-एनोटेशन, के साथ एक यौगिक एनोटेशन बनाना चाहते हैं
@Named
@AnotherAnnotation
@YetAnotherAnnotation
public @interface CompoundAnnotation {
...
}
क्या कोई तरीका है कि मैं मेटा एनोटेशन में से किसी एक को यौगिक एनोटेशन में गुण पास कर सकता हूं?
जैसे, कुछ इस तरह:
@CompoundAnnotation(name = "Bob")
private Person person;
कि के बराबर है, लेकिन बहुत
@Named(name = "Bob")
@AnotherAnnotation
@YetAnotherAnnotation
private Person person;
धन्यवाद से अधिक सुविधाजनक है!
पीएस एक उदाहरण एनोटेशन की मेरी खराब पसंद के लिए माफ़ी माँगता है - मेरे पास javax.inject नहीं था। @ नामित एनोटेशन मन में, कुछ मनमाने ढंग से एनोटेशन जिसमें गुण हैं।
आपके उत्तरों/टिप्पणियों के लिए सभी को धन्यवाद।
यह निश्चित रूप से ऐसा लगता है कि यह संभव नहीं है। हालांकि, ऐसा होता है कि मेरे केस-इन-पॉइंट के लिए एक साधारण काम है, जो किसी भी व्यक्ति की मदद करता है:
मैं वसंत के साथ काम कर रहा हूं और अपनी खुद की टिप्पणियां बनाना चाहता हूं जिनके पास @ मेटा-एनोटेशन के रूप में घटक, इस प्रकार घटक स्कैनिंग द्वारा स्वत: पता लगाया जा रहा है। हालांकि, मैं भी बीननाम संपत्ति (@ कॉम्पोनेंट में मूल्य संपत्ति के अनुरूप) सेट करने में सक्षम होना चाहता था, इसलिए मेरे पास कस्टम बीन नाम हो सकते थे।
वैसे यह पता चला है कि वसंत के विचारशील लोगों ने ऐसा करना संभव बना दिया - एनोटेशनबीननाम जेनरेटर जो भी एनोटेशन पारित किया गया है उसका 'मूल्य' संपत्ति ले जाएगा और इसे बीन नाम (और निश्चित रूप से, डिफ़ॉल्ट, यह केवल उन टिप्पणियों को पारित कर देगा जो @ कॉम्पोनेंट हैं या मेटा-एनोटेशन के रूप में @ कॉम्पोनेंट हैं)। पूर्व-निरीक्षण में यह शुरुआत से मेरे लिए स्पष्ट होना चाहिए था - इस प्रकार @ कॉम्पोनेंट के साथ मेटा-एनोटेशन के रूप में मौजूदा टिप्पणियां, जैसे @ सेवा और @ रजिस्ट्री, बीन नाम प्रदान कर सकती हैं।
आशा है कि किसी के लिए उपयोगी है। मुझे अभी भी लगता है कि यह शर्म की बात है कि हालांकि यह संभवतः अधिक संभव नहीं है!
मैं नहीं देखता कि, जब तक आप लोड समय पर बाइट-कोड मैनिपुलेशन के माध्यम से एनोटेशन जोड़ रहे हों। (या एक कस्टम एनोटेशन प्रोसेसर, मुझे लगता है।) यह देखने के लिए उत्सुक है कि सभी संभव है w/o चालें, हालांकि। –
बस जोर से सोचते हुए, क्या यह एक वर्कअराउंड नहीं होगा यदि आपके पास अन्य एनीोटेशन और वाईएए के साथ एनोटेटेड बेस क्लास था, और फिर पर्सन क्लास ने इसे बढ़ाया? प्रतिबिंबों को भी देखें, शायद आपको कुछ विचार मिलेंगे: http://code.google.com/p/reflections/ – maksimov
http://stackoverflow.com/questions/1624084/why-is-not- संभावित- टू-विस्तार-एनोटेशन में जावा – Gray