2009-07-13 8 views
15

मैं वेब सेवा दस्तावेज करने के लिए javadoc चींटी कार्य द्वारा जेवाडॉक्स का उपयोग कर रहा हूं, और मैं आउटपुट से कुछ रचनाकारों को बाहर करना चाहता हूं। मैं उसको कैसे करू?मैं javadoc चींटी कार्य के परिणामों से एक विशिष्ट विधि/कन्स्ट्रक्टर को कैसे बाहर निकालूं?

उत्तर

8

प्रासंगिक Javadoc FAQ entry देखें।

वर्तमान में कोई जावाडोक विकल्प , छिपाने के बाहर या जावाडोक-उत्पन्न प्रलेखन से सार्वजनिक सदस्यों को दबाने के लिए नहीं है।

ऐसा लगता है इस वेनिला जावाडोक में संभव नहीं है, लेकिन कुछ समाधान की पेशकश कर रहे हैं।

2

बदलें विधि की विधि पहुंच का स्तर है, तो उपयोग javadoc काम की पहुँच स्तर के छानने गुण, private, package, आदि का उपयोग केवल इस जैसे, विधि था कि अगर यह अपने कोड में समझ में आता है, हालांकि, अनुपयुक्त ढीली पहुंच स्तर।

रचनाकारों के लिए, उदाहरण के लिए, आप पहुंच स्तर को package पर कम कर सकते हैं, फिर उसी पैकेज में फैक्ट्री क्लास बनाएं जो पैकेज के बाहर निर्माण पहुंच प्रदान करता है। फैक्ट्री क्लास को जावाडॉक्स से आसानी से फ़िल्टर किया जा सकता है। हैकी की तरह, लेकिन यह काम करता है।

14

सार्वजनिक तरीकों के लिए ऐसा करने का कोई तरीका नहीं है। मानक अभ्यास (यहां तक ​​कि कुछ जेडीके वर्गों में भी) यह इंगित करना है कि विधि या निर्माता सार्वजनिक उपयोग के लिए नहीं है।

एक plan to add an @exclude tag in the future है:

@exclude - के लिए एपीआई जावाडोक द्वारा पीढ़ी से बाहर रखा जाना। प्रोग्रामर @ एक्सक्लूस के साथ एक वर्ग, इंटरफ़ेस, कन्स्ट्रक्टर, विधि या फ़ील्ड को चिह्नित करेगा। टैग की उपस्थिति एपीआई उत्पन्न जेनरेट दस्तावेज से बाहर होने का कारण बन जाएगी। टैग निम्नलिखित टैग बहिष्कार, के कारण को समझा सकता है लेकिन जावाडोक द्वारा अनदेखा किया जाएगा। (। पूर्व @hide के रूप में प्रस्तावित है, लेकिन अवधि "छिपाएँ" रन-टाइम गतिशील शो के लिए अधिक उपयुक्त है/ क्षमता को छिपाने) और अधिक चर्चा के लिए, देखें: Feature Request #4058216 डेवलपर कनेक्शन में।

2

क्रिस Nokleberg के ExcludeDoclet आजमाएँ: http://www.sixlegs.com/blog/java/exclude-javadoc-tag.html

मैं सिर्फ यह के साथ प्रयोग किया गया है और यह चाल करने के लिए लगता है।

+0

पैरामीट्रिज्ड प्रकारों को अच्छी तरह से प्रलेखित नहीं करने के लिए, ExcludeDoclet https://sdgsystems.com/blog/hiding-javadoc-elements-exclude-tag के इस सुधार की जांच करें – antgar9

8

क्या आपके दस्तावेज़ से कुछ लोगों को "अस्पष्टता के माध्यम से सुरक्षा" (या बल्कि, "अस्पष्टता के माध्यम से दस्तावेज़ीकरण") पर एक भिन्नता को शामिल नहीं किया जा रहा है? यदि कन्स्ट्रक्टर आपके कोड के एपीआई का हिस्सा है, तो यह उनके लिए उपयोग करने के लिए उपलब्ध है। अगर वे इसके बारे में पता लगाते हैं और इसका इस्तेमाल करते हैं, तो क्या उनकी गलती है (क्योंकि आपने इसे पहले स्थान पर सार्वजनिक किया है)?

यदि आप निर्माता की दृश्यता बदल सकते हैं या इसे पूरी तरह से हटा सकते हैं, तो मैं इसके लिए जाऊंगा। यदि आप इसे एपीआई से नहीं हटा सकते हैं, तो इसे निर्माता के लिए जावाडोक में ज्ञात करें कि यह वेब सेवा के माध्यम से उपयोग के लिए नहीं है।इस तरह आपने अपने एपीआई के उपयोगकर्ताओं के साथ एक अनुबंध स्थापित किया है, जो उन्हें इसका उपयोग न करने के लिए सूचित करते हैं।

यह दस्तावेज करना बेहतर है कि इसे दस्तावेज न करने के बजाय इसका उपयोग नहीं किया जाना चाहिए (यदि यह सार्वजनिक है)। इसे दस्तावेज नहीं करने से जोखिम बढ़ जाता है कि यह अनजाने में उपयोग किया जाता है, और फिर जब आप कार्यान्वयन को बदलते हैं तो इसका उपयोग कर क्लाइंट कोड टूट जाता है।

1

वर्तमान में सबसे सरल समाधान @deprecated के साथ जावाडोक टिप्पणी शुरू करना है, और उसके बाद -nodeprecatedjavadoc आदेश पर पास करें। बेशक, यह स्वीकार्य नहीं हो सकता है यदि आपके पास वास्तविक बहिष्कृत आइटम हैं जिन्हें आप दस्तावेज़ में शामिल करना चाहते हैं।

0

मुझे प्राप्त होने वाले बंद Doclava का उपयोग करना है, जिसमें @hide टैग है जिसे आप विधि दस्तावेज़ में निर्दिष्ट कर सकते हैं।

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