2010-09-01 11 views
28

मुझे पता है कि @inheritDoc है, लेकिन यह केवल उन तरीकों के लिए है जो दूसरों को ओवरराइड करते हैं।किसी विधि के जावाडोक को अन्य विधि के जावाडोक में कैसे कॉपी किया जा सकता है?

मैं कई प्रतिनिधि तरीकों (जो नहीं ओवरराइड दूसरों) के साथ कई वर्गों की है।

क्या उनके जावाडोक को "विरासत" मिल सकता है (अधिक सटीक: प्रतिलिपि बनाई गई)?

/** here I need the copy of wrappedMethod's Javadoc */ 
public void delegateMethod(Object param){ 
    innerSomething.wrappedMethod(param); 
} 
+0

निकटता से संबंधित लेकिन विशेष रूप से ओवरलोडेड विधियों के लिए: http://stackoverflow.com/questions/2558695/javadoc-and-overloaded-methods/28114175#28114175 –

उत्तर

10

ए @ लिंक या @see टैग यहां उचित होगा। यदि आप विधि को लपेट रहे हैं, तो इसे विशिष्ट व्यवहार प्रदान करना होगा जो इसे ओवरलोडिंग या अन्यथा अनुपयुक्त बनाता है।

+1

हां, लेकिन '@ लिंक' या '@ देखें' दुख की बात नहीं है जब लपेटा गया तरीका सुरक्षित होता है तो उपयोगी होता है :( –

+3

जब तक आप संरक्षित तरीकों के लिए javadocs उत्पन्न नहीं करते हैं ... –

+0

'@ seanizer' ओह, मुझे नहीं पता था कि यह संभव है, धन्यवाद! –

8

कभी-कभी दस्तावेज़ों को काटने और पेस्ट करने के लिए वास्तव में एक अच्छी बात है। कुछ तरीकों से 'लिंकिंग' दस्तावेज, खासकर जब विरासत संबंध में नहीं है, जोखिम को चलाता है कि विधियों में से एक का व्यवहार किसी भी तरह से बदल जाएगा, लिंक किए गए दस्तावेज़ों को अब मान्य नहीं किया जाएगा।

हालांकि प्रतिनिधियों के मामले में मुझे कई बार एक ही समस्या है। आम तौर पर आपके पास एक पैकेज-निजी प्रतिनिधि को प्रतिनिधिमंडल में एक मुख्य वर्ग पर सार्वजनिक विधि होती है, जिसमें मुख्य विधि के समान व्यवहार होता है। यहां समाधान सरल है - मुख्य वर्ग को दस्तावेज करें, और प्रतिनिधि वर्ग पर @ लिंक या @see डालें। हर कोई मुख्य वर्ग 'दस्तावेज देख सकता है। आपको शायद प्रतिनिधि वर्ग पर कार्यान्वयन विवरण जैसे अधिक विस्तृत दस्तावेज़ीकरण की आवश्यकता होगी।

संबंधित मुद्दे