हमारे पास जावा कोड की एक लाइब्रेरी है जिसे हम परियोजनाओं में उपयोग करना चाहते हैं। इन परियोजनाओं में से कुछ को इस पुस्तकालय में जावा ऑब्जेक्ट्स में एनोटेशन जोड़ने की आवश्यकता होगी (यानी एक प्रोजेक्ट में, इन ऑब्जेक्ट्स का उपयोग जेएक्स-आरएस सर्वलेट कार्यान्वयन में किया जाएगा ताकि उन्हें जेएक्सबी, जेएसओएन आदि एनोटेशन के साथ एनोटेट किया जाना चाहिए)। मेरे पास जो मुद्दा है वह यह है कि मैं मूल पुस्तकालय को बदले बिना इन एनोटेशन को कैसे जोड़ सकता हूं, यह नहीं समझ सका।जावा प्रोजेक्ट में एनोटेशन जोड़ना/संशोधित करना
इस उदाहरण पर विचार:
public class MyClass
{
private String field1;
private int field2;
}
कुछ परियोजनाओं में, मैं वर्ग व्यवहार करने के लिए चाहते हैं जैसे कि वह
public class MyClass
{
@Annotation1
private String field1;
@Annotation2
private int field2;
}
था शुरू में मैं इंटरफेस या व्युत्पन्न वर्ग है कि अलग से एनोटेट का उपयोग कर के बारे में सोचा लेकिन यह नहीं पता कि यह कैसे करना है (या यह संभव है या नहीं)। मैंने जवासिस्ट सुझाव in this thread (यानी जावा बाइटकोड मैनिपुलेशन दृष्टिकोण) के बारे में भी पाया लेकिन मुद्दा यह है कि इसे एंड्रॉइड क्लाइंट्स पर भी काम करने की ज़रूरत है, इसलिए यह मेरे लिए एक विकल्प नहीं है। इस बिंदु पर मैं विचारों से बाहर हूं।
अगर कोई किसी भी तरह से मदद कर सकता है तो मैं सराहना करता हूं। शायद मुझे कुछ याद आ रहा है, या शायद मैं जो करने की कोशिश कर रहा हूं वह सही तरीका नहीं है। किसी भी मामले में, आगे बढ़ने के लिए मुझे अब कुछ मार्गदर्शन की आवश्यकता है।
अग्रिम धन्यवाद।
मूल पुस्तकालय को बदलने के साथ समस्या क्या है? यह आपका कोड है, जैसा कि मैं बता सकता हूं। – CommonsWare
लाइब्रेरी ऑब्जेक्ट्स, उनके संग्रह और इन-मेमोरी सीआरयूडी कार्यक्षमता (बाधाओं, सत्यापन आदि) का एक गुच्छा प्रबंधित करती है। इसमें इन वस्तुओं की धारावाहिकता और दृढ़ता का कोई ज्ञान नहीं है, और मैं उन्हें अलग रखना चाहता हूं।साथ ही, अनुपलब्ध एनोटेशन लक्ष्य प्लेटफॉर्म पर समस्याएं पैदा कर सकते हैं: एंड्रॉइड में जेएक्सबी एनोटेशन नहीं है और कोई भी फ्रेमवर्क जो एंड्रॉइड पर एनोटेशन को संसाधित करता है, भले ही जेएक्सबी एनोटेशन का उपयोग नहीं किया जा रहा हो (NoClassDefFoundError)। यदि वे लक्ष्य प्लेटफॉर्म द्वारा उपयोग नहीं किए जा रहे हैं तो मैं एनोटेशन जोड़ने से बचना चाहता हूं। – alokoko