2013-10-24 10 views
7

बनाएं मैं वर्तमान में किसी तृतीय पक्ष लाइब्रेरी द्वारा प्रदान की गई एनोटेशन का उपयोग कर रहा हूं और मुझे आश्चर्य है कि इसके आसपास एक और 'रैपर एनोटेशन' बनाने का कोई तरीका है ताकि मुझे सभी पैरामीटर की आवश्यकता न हो।जावा एनोटेशन रैपर

उदाहरण के लिए मैं इस तरह पुस्तकालय एनोटेशन का उपयोग कर सकते हैं:

@LibraryAnnotation(Parameter1, Parameter2, Parameter3) 

लेकिन मेरे मामले पैरामीटर 2 और पैरामीटर 3 हमेशा एक ही कर रहे हैं तो मैं एक एनोटेशन है कि केवल पैरामीटर 1

में
@MyAnnotation(Parameter1) 
ले जाएगा बनाना चाहते हैं में

लेकिन अन्य पैरामीटर के साथ अन्य एनोटेशन को कॉल करेगा, जैसा कि आप किसी तृतीय पक्ष विधि के लिए रैपर बना सकते हैं।

उत्तर

1

एनोटेशन काफी सीमित हैं। दुर्भाग्यवश, मुझे कोई रास्ता नहीं दिख रहा है, लेकिन मैं गलत हो सकता हूं।

+0

जवाब के रूप में तुम्हारा अंकन क्योंकि मैं अभी भी यह करने के लिए एक तरह से नहीं मिली है। मुझे नहीं लगता कि यह संभव है। – user1751547

0

जहाँ तक मुझे पता है, वहाँ दो विकल्प है कि वर्तमान में यह करने के लिए इस्तेमाल किया जा सकता हैं:

  • Daileon उपकरण (http://daileon.sourceforge.net/) का प्रयोग करें - एक के बाद से यह एक प्रायोगिक उपकरण के अधिक है, इसकी उपयोगिता है

    declare @type : @MyAnnotation package.* : @LibraryAnnotation(..);

: थोड़ा बोझिल
  • उपयोग पहलू उन्मुख प्रोग्रामिंग और अंतर-प्रकार घोषणा एक नई व्याख्या, जैसे सुई

    हालांकि, दोनों विकल्प काफी सीमित हैं।

  • 0

    आप इस नमूने में की तरह आधार टिप्पणी के साथ अपनी एनोटेशन टिप्पणी कर सकते हैं:

    @Target(value = {ElementType.TYPE}) 
    @Page(method3="someValue") 
    public @interface Move { 
    String method1(); 
    String method2(); 
    } 
    
    @Target(value = {ElementType.ANNOTATION_TYPE}) 
    public @interface Page{ 
    String method3(); 
    } 
    
    संबंधित मुद्दे