'\" t .\" Copyright (c) 1994, 2015, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation. .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" .\" Arch: generic .\" Software: JDK 8 .\" Date: 03 March 2015 .\" SectDesc: Basic Tools .\" Title: javadoc.1 .\" .if n .pl 99999 .TH javadoc 1 "03 March 2015" "JDK 8" "Basic Tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" javadoc \- تولید صفحات HTML مستندات API از فایلهای منبع Java\&. .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fBjavadoc\fR {\fIpackages\fR|\fIsource\-files\fR} [\fIoptions\fR] [\fI@argfiles\fR] .fi .sp .TP \fIpackages\fR نام بستههایی که میخواهید مستندسازی کنید، جدا شده با فاصله، برای نمونه \f3java\&.lang java\&.lang\&.reflect java\&.awt\fR\&. اگر میخواهید زیربستهها را نیز مستندسازی کنید، از گزینهٔ \f3-subpackages\fR برای تعیین بستهها استفاده کنید\&. بهطور پیشفرض، \f3javadoc\fR بستههای مشخصشده را در دایرکتوری جاری و زیردایرکتوریهای آن جستجو میکند\&. از گزینهٔ \f3-sourcepath\fR برای تعیین فهرست دایرکتوریهایی که بستهها در آنها جستجو شوند استفاده نمایید\&. .TP \fIsource-files\fR نام فایلهای منبع Java که میخواهید مستندسازی کنید، جدا شده با فاصله، برای نمونه \f3Class\&.java Object\&.java Button\&.java\fR\&. بهطور پیشفرض، \f3javadoc\fR کلاسهای مشخصشده را در دایرکتوری جاری جستجو میکند\&. با این حال، میتوانید مسیر کامل به فایل کلاس را مشخص کرده و از نویسههای عام (wildcard) استفاده کنید، برای نمونه \f3/home/src/java/awt/Graphics*\&.java\fR\&. همچنین میتوانید مسیر را بهصورت نسبی نسبت به دایرکتوری جاری تعیین نمایید\&. .TP \fIoptions\fR گزینههای خط فرمان، جدا شده با فاصله\&. بخش گزینهها (Options) را ببینید\&. .TP \fI@argfiles\fR نام فایلهایی که فهرستی از گزینههای دستور \f3javadoc\fR، نام بستهها و نام فایلهای منبع را به هر ترتیبی در بر دارند\&. .SH "توضیحات (DESCRIPTION)" دستور \f3javadoc\fR اعلانها و کامنتهای مستندسازی را در مجموعهای از فایلهای منبع Java تجزیه کرده و مجموعهای متناظر از صفحات HTML تولید میکند که (بهطور پیشفرض) کلاسهای public و protected، کلاسهای تودرتو (اما نه کلاسهای داخلی ناشناس)، رابطها (interfaces)، سازندهها (constructors)، متدها (methods) و فیلدها (fields) را توصیف میکنند\&. میتوانید از دستور \f3javadoc\fR برای تولید مستندات API یا مستندات پیادهسازی برای مجموعهای از فایلهای منبع استفاده کنید\&. .PP میتوانید دستور \f3javadoc\fR را روی بستههای کامل، فایلهای منبع منفرد، یا هر دو اجرا کنید\&. هنگام مستندسازی بستههای کامل، میتوانید یا از گزینهٔ \f3-subpackages\fR برای پیمایش بازگشتی یک دایرکتوری و زیردایرکتوریهای آن استفاده کنید، یا فهرستی صریح از نامهای بسته را ارسال نمایید\&. هنگامی که فایلهای منبع منفرد را مستندسازی میکنید، فهرستی از نامهای فایلهای منبع Java را ارسال کنید\&. بخش مثالهای ساده (Simple Examples) را ببینید\&. .SS "پردازش فایلهای منبع (PROCESS SOURCE FILES)" دستور \f3javadoc\fR فایلهایی را که پسوند منبع دارند و سایر فایلهای شرح دادهشده در بخش فایلهای منبع (Source Files) پردازش میکند\&. اگر دستور \f3javadoc\fR را با ارسال نامهای منفرد فایلهای منبع اجرا کنید، میتوانید دقیقاً تعیین کنید که کدام فایلهای منبع پردازش شوند\&. با این حال، بیشتر توسعهدهندگان بدین صورت کار نمیکنند، زیرا ارسال نام بستهها سادهتر است\&. دستور \f3javadoc\fR میتواند بدون تعیین صریح نام فایلهای منبع به سه روش اجرا شود: میتوانید نام بستهها را ارسال کنید، از گزینهٔ \f3-subpackages\fR استفاده نمایید، یا از نویسههای عام (wildcards) همراه با نام فایلهای منبع بهره ببرید\&. در این موارد، دستور \f3javadoc\fR تنها در صورتی یک فایل منبع را پردازش میکند که فایل تمام شرایط زیر را برآورده سازد: .TP 0.2i \(bu پیشوند نام فایل (با حذف \f3\&.java\fR) یک نام کلاس معتبر باشد\&. .TP 0.2i \(bu نام مسیر نسبت به ریشهٔ درخت منبع، پس از تبدیل جداکنندهها به نقطه، یک نام بستهٔ معتبر باشد\&. .TP 0.2i \(bu عبارت \f3package\fR حاوی نام بستهٔ معتبر باشد\&. .PP پردازش پیوندها (Processing Links) در حین یک اجرا، دستور \f3javadoc\fR پیوندهای ارجاعمتقاطع (cross-reference) را به نامهای بسته، کلاس و عضوی که بخشی از آن اجرا هستند اضافه میکند\&. پیوندها در مکانهای زیر ظاهر میشوند\&. برای شرح برچسبهای @، بخش برچسبهای Javadoc (Javadoc Tags) را ببینید\&. .TP 0.2i \(bu اعلانها (انواع بازگشتی، انواع آرگومانها، و انواع فیلدها)\&. .TP 0.2i \(bu بخشهای \fIهمچنین ببینید (See Also)\fR که از برچسبهای \f3@see\fR تولید شدهاند\&. .TP 0.2i \(bu متن درونخطی تولید شده از برچسبهای \f3{@link}\fR\&. .TP 0.2i \(bu نام استثناها که از برچسبهای \f3@throws\fR تولید شدهاند\&. .TP 0.2i \(bu پیوندهای \fISpecified by\fR به اعضای رابط و پیوندهای \fIOverrides\fR به اعضای کلاس\&. بخش Method Comment Inheritance را ببینید\&. .TP 0.2i \(bu جدولهای خلاصهای که بستهها، کلاسها و اعضا را فهرست میکنند\&. .TP 0.2i \(bu درختهای وراثت بسته و کلاس\&. .TP 0.2i \(bu نمایه (index)\&. .PP میتوانید با استفاده از گزینههای \f3-link\fR و \f3-linkoffline\fR، پیوندهایی را به متنهای موجود برای کلاسهایی که در خط فرمان گنجانده نشدهاند (اما بهطور جداگانه تولید شدهاند) بیفزایید\&. .PP جزئیات پردازش (Processing Details) دستور \f3javadoc\fR در هر بار اجرا یک سند کامل ایجاد میکند\&. این دستور ساخت افزایشی (incremental build) انجام نمیدهد که نتایج اجراهای پیشین را ویرایش کرده یا مستقیماً ادغام کند\&. با این حال، دستور \f3javadoc\fR میتواند به نتایج حاصل از سایر اجراها پیوند دهد\&. .PP پیادهسازی دستور \f3javadoc\fR به کامپایلر Java نیاز داشته و بر آن متکی است\&. دستور \f3javadoc\fR بخشی از دستور \f3javac\fR را فرامیخواند تا اعلانها را کامپایل کرده و از پیادهسازی اعضا چشمپوشی کند\&. دستور \f3javadoc\fR یک بازنمایی درونی غنی از کلاسها شامل سلسلهمراتب کلاسها و روابط استفاده میسازد تا HTML را تولید نماید\&. دستور \f3javadoc\fR همچنین مستندات ارائهشده توسط کاربر را از کامنتهای مستندسازی در کد منبع استخراج میکند\&. بخش کامنتهای مستندسازی (Documentation Comments) را ببینید\&. .PP دستور \f3javadoc\fR روی فایلهای منبعی که فایلهای ساختگیِ صرف (stub files) بدون بدنهٔ متد هستند نیز اجرا میشود\&. این بدان معناست که میتوانید در مراحل اولیهٔ طراحی پیش از پیادهسازی API، کامنتهای مستندسازی بنویسید و دستور \f3javadoc\fR را اجرا کنید\&. .PP اتکا به کامپایلر اطمینان میدهد که خروجی HTML دقیقاً با پیادهسازی واقعی مطابقت داشته باشد؛ پیادهسازیای که ممکن است بهجای کد منبع صریح، بر کدهای ضمنی متکی باشد\&. برای نمونه، دستور \f3javadoc\fR سازندههای پیشفرضی را که در فایلهای کلاس کامپایلشده موجودند ولی در کد منبع وجود ندارند، مستندسازی میکند\&. .PP در بسیاری از موارد، دستور \f3javadoc\fR به شما اجازه میدهد تا برای فایلهای منبع با کدهای ناقص یا دارای خطا نیز مستندات تولید کنید\&. میتوانید پیش از اتمام تمام اشکالزداییها و عیبیابیها، مستندات را ایجاد نمایید\&. دستور \f3javadoc\fR بررسیهای اولیهای روی کامنتهای مستندسازی انجام میدهد\&. .PP هنگامی که دستور \f3javadoc\fR ساختار درونی خود را برای مستندسازی میسازد، تمام کلاسهای ارجاعدادهشده را بارگذاری میکند\&. به همین دلیل، دستور \f3javadoc\fR باید بتواند همهٔ کلاسهای ارجاعشده را، اعم از کلاسهای راهانداز (bootstrap classes)، افزونهها (extensions)، یا کلاسهای کاربر بیابد\&. به بخش How Classes Are Found در آدرس http://docs\&.oracle\&.com/javase/8/docs/technotes/tools/findingclasses\&.html مراجعه کنید\&. .PP بهطور معمول، کلاسهایی که ایجاد میکنید باید یا بهعنوان یک افزونه بارگذاری شوند یا در مسیر کلاس (class path) دستور \f3javadoc\fR قرار گیرند\&..SS "داکلتهای JAVADOC (JAVADOC DOCLETS)" شما میتوانید محتوا و قالب خروجی دستور \f3javadoc\fR را با داکلتها سفارشیسازی کنید\&. دستور \f3javadoc\fR دارای یک داکلت درونی پیشفرض به نام داکلت استاندارد (standard doclet) است که مستندات API با قالب HTML تولید میکند\&. شما میتوانید داکلت استاندارد را تغییر دهید، از آن زیرکلاس بسازید، یا داکلت اختصاصی خود را بنویسید تا خروجیهایی در قالبهای HTML، XML، MIF، RTF یا هر قالب دلخواه دیگری تولید کند\&. .PP هنگامی که یک داکلت سفارشی با گزینه \f3-doclet\fR تعیین نشده باشد، دستور \f3javadoc\fR از داکلت استاندارد پیشفرض استفاده میکند\&. دستور \f3javadoc\fR دارای گزینههای متعددی است که صرفنظر از داکلتِ در حال استفاده، در دسترس هستند\&. داکلت استاندارد مجموعهای تکمیلی از گزینههای خط فرمان را ارائه میدهد\&. بخش گزینهها (Options) را ببینید\&. .SH "فایلهای منبع (SOURCE FILES)" دستور \f3javadoc\fR خروجیهایی تولید میکند که از انواع فایلهای منبع زیر سرچشمه میگیرند: فایلهای منبع زبان جاوا برای کلاسها (\f3\&.java\fR)، فایلهای توضیحات بسته، فایلهای توضیحات کلی (overview)، و فایلهای پردازشنشده گوناگون\&. این بخش همچنین فایلهای آزمون و فایلهای الگو را شرح میدهد که ممکن است در درخت منبع وجود داشته باشند، اما میخواهید مطمئن شوید که مستندسازی نمیشوند\&. .SS "فایلهای منبع کلاس (CLASS SOURCE FILES)" هر کلاس یا رابط (interface) و اعضای آن میتوانند توضیحات مستندسازی مربوط به خود را در یک فایل منبع داشته باشند\&. بخش Documentation Comments را ببینید\&. .SS "فایلهای توضیحات بسته (PACKAGE COMMENT FILES)" هر بسته میتواند توضیحات مستندسازی مربوط به خود را در فایل منبع اختصاصیاش داشته باشد که دستور \f3javadoc\fR آن را در صفحه خلاصه بسته (package summary) ادغام میکند\&. شما معمولاً هر مستنداتی را که برای کل بسته اعمال میشود در این توضیحات قرار میدهید\&. .PP برای ایجاد یک فایل توضیحات بسته، میتوانید توضیحات خود را در یکی از فایلهای زیر قرار دهید: .TP 0.2i \(bu فایل \f3package-info\&.java\fR میتواند شامل اعلان بسته، حاشیهنویسیهای بسته (package annotations)، توضیحات بسته و برچسبهای Javadoc باشد\&. استفاده از این فایل ترجیح داده میشود\&. .TP 0.2i \(bu فایل \f3package\&.html\fR تنها شامل توضیحات بسته و برچسبهای Javadoc است و حاشیهنویسیهای بسته را نمیپذیرد\&. .PP یک بسته میتواند یک فایل \f3package\&.html\fR تکی یا یک فایل \f3package-info\&.java\fR تکی داشته باشد، اما نباید شامل هر دوی آنها باشد\&. هر یک از این فایلها را در دایرکتوری بسته در درخت منبع و در کنار فایلهای منبع خود قرار دهید\&. .PP فایل package-info\&.java فایل \f3package-info\&.java\fR میتواند شامل توضیح بستهای با ساختار زیر باشد\&. این توضیح پیش از اعلان بسته قرار میگیرد\&. .PP \fIنکته:\fR جداکنندههای توضیح \f3/**\fR و \f3*/\fR باید وجود داشته باشند، اما میتوان از ستارههای ابتدای خطوط میانی صرفنظر کرد\&. .sp .nf \f3/**\fP .fi .nf \f3 * Provides the classes necessary to create an \fP .fi .nf \f3 * applet and the classes an applet uses \fP .fi .nf \f3 * to communicate with its applet context\&.\fP .fi .nf \f3 *
\fP .fi .nf \f3 * The applet framework involves two entities:\fP .fi .nf \f3 * the applet and the applet context\&.\fP .fi .nf \f3 * An applet is an embeddable window (see the\fP .fi .nf \f3 * {@link java\&.awt\&.Panel} class) with a few extra\fP .fi .nf \f3 * methods that the applet context can use to \fP .fi .nf \f3 * initialize, start, and stop the applet\&.\fP .fi .nf \f3 *\fP .fi .nf \f3 * @since 1\&.0\fP .fi .nf \f3 * @see java\&.awt\fP .fi .nf \f3 */\fP .fi .nf \f3package java\&.lang\&.applet;\fP .fi .nf \f3\fP .fi .sp .PP فایل package\&.html فایل \f3package\&.html\fR میتواند شامل توضیح بستهای با ساختار زیر باشد\&. این توضیح در عنصر \f3
\fR قرار میگیرد\&. .PP فایل: \f3java/applet/package\&.html\fR .sp .nf \f3\fP .fi .nf \f3\fP .fi .nf \f3Provides the classes necessary to create an applet and the \fP .fi .nf \f3classes an applet uses to communicate with its applet context\&.\fP .fi .nf \f3\fP .fi .nf \f3The applet framework involves two entities: the applet\fP .fi .nf \f3and the applet context\&. An applet is an embeddable\fP .fi .nf \f3window (see the {@link java\&.awt\&.Panel} class) with a\fP .fi .nf \f3few extra methods that the applet context can use to\fP .fi .nf \f3initialize, start, and stop the applet\&. \fP .fi .nf \f3\fP .fi .nf \f3@since 1\&.0 \fP .fi .nf \f3@see java\&.awt\fP .fi .nf \f3\fP .fi .nf \f3\fP .fi .nf \f3\fP .fi .sp فایل \f3package\&.html\fR یک فایل استاندارد HTML است و شامل اعلان بسته نمیشود\&. محتوای این فایل توضیحات، به استثنای یک مورد، به زبان HTML نوشته میشود\&. در توضیحات مستندسازی نباید از جداکنندههای توضیح \f3/**\fR و \f3*/\fR یا ستارههای ابتدای خط استفاده شود\&. هنگام نوشتن این توضیحات، نخستین جمله را خلاصهای درباره بسته قرار دهید و از گذاشتن عنوان یا هر متن دیگری میان تگ \f3
\fR و نخستین جمله خودداری کنید\&. میتوانید برچسبهای بسته را درج کنید\&. تمام برچسبهای بلوکی (block tags) باید پس از توضیحات اصلی قرار گیرند\&. اگر یک برچسب \f3@see\fR در فایل توضیحات بسته اضافه میکنید، باید نام کاملاً مشخص (fully qualified name) داشته باشد\&. .PP پردازش فایل توضیحات هنگامی که دستور \f3javadoc\fR اجرا میشود، به دنبال فایل توضیحات بسته میگردد\&. در صورت یافتن فایل توضیحات بسته، دستور \f3javadoc\fR مراحل زیر را انجام میدهد: .TP 0.2i \(bu توضیحات را جهت پردازش کپی میکند\&. برای package\&.html، دستور \f3javadoc\fR تمام محتوای میان تگهای HTML \f3\fR و \f3\fR را کپی میکند\&. میتوانید بخش \f3\fR را برای درج تگ \f3
\fP
.fi
.nf
\f3 */\fP
.fi
.nf
\f3\fP
.fi
.sp
.SS "فایلهای آزمون و الگو (TEST AND TEMPLATE FILES)"
میتوانید فایلهای آزمون و الگو را در درخت سورس، در همان دایرکتوری یا در زیردایرکتوریای از دایرکتوری قرارگیری فایلهای سورس ذخیره کنید\&. برای جلوگیری از پردازش فایلهای آزمون و الگو، دستور \f3javadoc\fR را اجرا کرده و نامهای تکتک فایلهای سورس را صراحتاً به آن ارسال کنید\&.
.PP
فایلهای آزمون، فایلهای سورس معتبر و قابل کامپایل هستند\&. فایلهای الگو فایلهای سورس معتبر و سازگار نیستند، اما اغلب پسوند \f3\&.java\fR دارند\&.
.PP
فایلهای آزمون (Test Files)
اگر میخواهید فایلهای آزمون شما به یک بستهٔ بدون نام یا به بستهای غیر از بستهٔ فایلهای سورس تعلق داشته باشند، فایلهای آزمون را در یک زیردایرکتوری در زیر فایلهای سورس قرار دهید و یک نام نامعتبر به آن دایرکتوری اختصاص دهید\&. اگر فایلهای آزمون را در همان دایرکتوریِ سورس قرار دهید و دستور \f3javadoc\fR را با یک آرگومان خط فرمان که نشاندهندهٔ نام بسته است فراخوانی کنید، فایلهای آزمون موجب هشدار یا خطا میشوند\&. اگر فایلها در زیردایرکتوری با نام نامعتبر باشند، دایرکتوری فایلهای آزمون نادیده گرفته شده و هیچ خطا یا هشداری صادر نمیشود\&. برای مثال، برای افزودن فایلهای آزمون برای فایلهای سورس در com\&.package1، آنها را در زیردایرکتوریای با یک نام بستهٔ نامعتبر قرار دهید\&. نام دایرکتوری زیر نامعتبر است زیرا حاوی خط پیوند (hyphen) میباشد:
.sp
.nf
\f3com/package1/test\-files/\fP
.fi
.nf
\f3\fP
.fi
.sp
اگر فایلهای آزمون شما حاوی کامنتهای مستندات هستند، میتوانید یک اجرای جداگانه از دستور \f3javadoc\fR را با ارسال نامهای فایلهای سورس آزمون با استفاده از نویسههای عمومی (wildcards)، مانند \f3com/package1/test-files/*\&.java\fR، برای تولید مستندات فایلهای آزمون برپا کنید\&.
.PP
فایلهای الگو (Template Files)
اگر میخواهید یک فایل الگو در دایرکتوری سورس باشد، اما هنگام اجرای دستور \f3javadoc\fR خطایی تولید نکند، یک نام فایل نامعتبر مانند \f3Buffer-Template\&.java\fR به آن بدهید تا از پردازش آن جلوگیری شود\&. دستور \f3javadoc\fR تنها فایلهای سورسی را پردازش میکند که نام آنها پس از حذف پسوند \f3\&.java\fR، یک نام کلاس معتبر باشد\&.
.SH "فایلهای تولیدشده (GENERATED FILES)"
بهطور پیشفرض، دستور \f3javadoc\fR از یک doclet استاندارد استفاده میکند که مستنداتی با قالببندی HTML تولید میکند\&. این doclet استاندارد، صفحههای محتوای اصلی، ارجاع متقابل، و صفحههای پشتیبانی شرح دادهشده در اینجا را تولید میکند\&. هر صفحهٔ HTML با یک فایل جداگانه متناظر است\&. دستور \f3javadoc\fR دو نوع فایل تولید میکند\&. نوع اول بر اساس کلاسها و رابطها نامگذاری میشود\&. نوع دوم حاوی خط پیوند است (مانند package-summary\&.html) تا از تداخل با نوع اول فایلها جلوگیری شود\&.
.SS "صفحههای محتوای اصلی (BASIC CONTENT PAGES)"
.TP 0.2i
\(bu
یک صفحهٔ کلاس یا رابط (classname\&.html) برای هر کلاس یا رابطی که مستندسازی میشود\&.
.TP 0.2i
\(bu
یک صفحهٔ بسته (package-summary\&.html) برای هر بستهای که مستندسازی میشود\&. دستور \f3javadoc\fR هر متن HTML ارائهشده در فایلی به نام package\&.html یا package-info\&.java در دایرکتوری بسته در درخت سورس را در بر میگیرد\&.
.TP 0.2i
\(bu
یک صفحهٔ مرور کلی (overview-summary\&.html) برای کل مجموعهٔ بستهها\&. صفحهٔ مرور کلی صفحهٔ نخست مستندات تولیدشده است\&. دستور \f3javadoc\fR هر متن HTML ارائهشده در فایلی را که توسط گزینهٔ \f3-overview\fR مشخص شده در بر میگیرد\&. صفحهٔ Overview تنها زمانی ایجاد میشود که دو یا چند نام بسته را به دستور \f3javadoc\fR بدهید\&. بخشهای HTML Frames و گزینهها (Options) را ببینید\&.
.SS "صفحههای ارجاع متقابل (CROSS-REFERENCE PAGES)"
.TP 0.2i
\(bu
یک صفحهٔ سلسلهمراتب کلاس برای کل مجموعهٔ بستهها (overview-tree\&.html)\&. برای مشاهدهٔ صفحهٔ سلسلهمراتب، روی \fIOverview\fR در نوار ناوبری و سپس روی \fITree\fR کلیک کنید\&.
.TP 0.2i
\(bu
یک صفحهٔ سلسلهمراتب کلاس برای هر بسته (package-tree\&.html)\&. برای مشاهدهٔ صفحهٔ سلسلهمراتب، به صفحهٔ یک بسته، کلاس یا رابط خاص بروید و برای نمایش سلسلهمراتب آن بسته، روی \fITree\fR کلیک کنید\&.
.TP 0.2i
\(bu
یک صفحهٔ استفاده برای هر بسته (package-use\&.html) و یک صفحهٔ استفادهٔ مجزا برای هر کلاس و رابط (class-use/classname\&.html)\&. صفحهٔ استفاده شرح میدهد که چه بستهها، کلاسها، متدها، سازندهها و فیلدهایی از هر بخش از کلاس، رابط یا بستهٔ مشخصشده استفاده میکنند\&. برای مثال، با فرض یک کلاس یا رابط A، صفحهٔ استفادهٔ آن شامل زیرکلاسهای A، فیلدهای اعلانشده بهصورت A، متدهایی که A برمیگردانند، و متدها و سازندگانی با پارامترهایی از نوع A است\&. برای مشاهدهٔ صفحهٔ استفاده، به بسته، کلاس یا رابط رفته و روی پیوند \fIUse\fR در نوار ناوبری کلیک کنید\&.
.TP 0.2i
\(bu
یک صفحهٔ API منسوخشده (deprecated-list\&.html) که تمام APIهای منسوخشده و جایگزینهای پیشنهادی آنها را فهرست میکند\&. از APIهای منسوخشده اجتناب کنید زیرا ممکن است در پیادهسازیهای آینده حذف شوند\&.
.TP 0.2i
\(bu
یک صفحهٔ مقادیر فیلدهای ثابت (constant-values\&.html) برای مقادیر فیلدهای استاتیک\&.
.TP 0.2i
\(bu
یک صفحهٔ فرم سریالسازیشده (serialized-form\&.html) که اطلاعاتی دربارهٔ کلاسهای قابل سریالسازی و قابل برونریزی به همراه شرح فیلدها و متدها ارائه میدهد\&. اطلاعات این صفحه برای پیادهسازان مجدد کاربرد دارد و نه برای توسعهدهندگانی که میخواهند از API استفاده کنند\&. برای دسترسی به صفحهٔ فرم سریالسازیشده، به هر کلاس سریالسازیشده بروید و در بخش See Also کامنت کلاس، روی \fISerialized Form\fR کلیک کنید\&. doclet استاندارد یک صفحهٔ فرم سریالسازیشده تولید میکند که هر کلاسی (عمومی یا غیرعمومی) را که Serializable را به همراه متدهای \f3readObject\fR و \f3writeObject\fR آن، فیلدهایی که سریالسازی میشوند، و کامنتهای مستندات ناشی از تگهای \f3@serial\fR، \f3@serialField\fR، و \f3@serialData\fR پیادهسازی کرده است فهرست میکند\&. کلاسهای سریالپذیر عمومی را میتوان با علامتگذاری آنها (یا بستهٔ آنها) با \f3@serial\fR exclude مستثنی کرد، و کلاسهای سریالپذیر با سطح دسترسی بسته را میتوان با علامتگذاری آنها (یا بستهٔ آنها) با یک \f3@serial\fR include گنجاند\&. از نگارش 1\&.4 به بعد، میتوانید فرم کامل سریالسازیشده را برای کلاسهای عمومی و خصوصی با اجرای دستور \f3javadoc\fR بدون مشخص کردن گزینهٔ \f3-private\fR تولید کنید\&. بخش گزینهها (Options) را ببینید\&.
.TP 0.2i
\(bu
یک صفحهٔ نمایه (\f3index-*\&.html\fR) از تمام نامهای کلاسها، رابطها، سازندهها، فیلدها و متدها، به ترتیب حروف الفبا\&. صفحهٔ نمایه برای یونیکد بینالمللیسازی شده است و میتواند بهعنوان یک فایل واحد یا بهعنوان یک فایل جداگانه برای هر نویسهٔ آغازین (مانند A\(enZ برای انگلیسی) تولید شود\&.
.SS "صفحههای پشتیبانی (SUPPORT PAGES)"
.TP 0.2i
\(bu
یک صفحهٔ راهنما (help-doc\&.html) که نوار ناوبری و صفحههای قبلی را شرح میدهد\&. از \f3-helpfile\fR برای بازنویسی فایل راهنمای پیشفرض با فایل راهنمای سفارشی خود استفاده کنید\&.
.TP 0.2i
\(bu
یک فایل index\&.html که فریمهای HTML را برای نمایش ایجاد میکند\&. این فایل را برای نمایش صفحهٔ نخست همراه با فریمها بارگذاری کنید\&. فایل index\&.html هیچ محتوای متنی ندارد\&.
.TP 0.2i
\(bu
چندین فایل فریم (\f3*-frame\&.html\fR) که حاوی فهرستهایی از بستهها، کلاسها و رابطها هستند\&. فایلهای فریم، فریمهای HTML را نمایش میدهند\&.
.TP 0.2i
\(bu
یک فایل فهرست بسته (package-list) که توسط گزینههای \f3-link\fR و \f3-linkoffline\fR استفاده میشود\&. فایل فهرست بسته یک فایل متنی است که از طریق پیوندها قابل دسترسی نیست\&.
.TP 0.2i
\(bu
یک فایل برگهسبک (stylesheet\&.css) که مقدار محدودی از رنگ، خانوادهٔ قلم، اندازهٔ قلم، سبک قلم و اطلاعات جایگیری در صفحههای تولیدشده را کنترل میکند\&.
.TP 0.2i
\(bu
یک دایرکتوری doc-files که فایلهای تصویری، نمونه، کد منبع یا دیگر فایلهایی را که میخواهید در دایرکتوری مقصد کپی شوند نگهداری میکند\&. این فایلها توسط دستور \f3javadoc\fR پردازش نمیشوند\&. این دایرکتوری پردازش نمیشود مگر اینکه در درخت سورس وجود داشته باشد\&.
.PP
بخش گزینهها (Options) را ببینید\&..SS "فریمهای HTML (HTML FRAMES)"
دستور \f3javadoc\fR بر اساس مقادیر ارائهشده به آن، حداقل تعداد فریمهای ضروری (دو یا سه) را تولید میکند\&. هنگامی که تنها یک نام بسته یا فایلهای منبع متعلق به یک بسته واحد را به عنوان آرگومان به دستور \f3javadoc\fR میدهید، این دستور از فهرست بستهها صرفنظر میکند\&. در عوض، دستور \f3javadoc\fR یک فریم در ستون سمت چپ ایجاد میکند که فهرست کلاسها را نمایش میدهد\&. هنگامی که دو یا چند نام بسته را ارسال میکنید، دستور \f3javadoc\fR فریم سومی ایجاد میکند که همه بستهها و یک صفحه مرور کلی (overview-summary\&.html) را فهرست میکند\&. برای گذر از فریمها، روی پیوند \fINo Frames\fR کلیک کنید یا از صفحه overview-summary\&.html وارد مجموعه صفحات شوید\&.
.SS "ساختار فایلهای تولیدشده (GENERATED FILE STRUCTURE)"
فایلهای کلاس و رابط (interface) تولیدشده در همان سلسلهمراتب پوشهای سازماندهی میشوند که فایلهای منبع و فایلهای کلاس جاوا سازماندهی شدهاند\&. این ساختار شامل یک پوشه به ازای هر زیربسته (subpackage) است\&.
.PP
برای نمونه، سند تولیدشده برای کلاس \f3java\&.applet\&.Applet\fR در مسیر java/applet/Applet\&.html قرار خواهد گرفت\&.
.PP
ساختار فایل برای بسته \f3java\&.applet\fR با فرض اینکه نام پوشه مقصد \f3apidocs\fR باشد، در ادامه آمده است\&. تمام فایلهایی که شامل واژه \fIframe\fR هستند، همانطور که اشاره شده در فریمهای بالا-چپ یا پایین-چپ ظاهر میشوند\&. تمام فایلهای HTML دیگر در فریم سمت راست نمایش داده میشوند\&.
.PP
پوشهها پررنگ (bold) هستند\&. علامتهای ستاره (*) نشاندهنده فایلها و پوشههایی است که اگر آرگومانهای ارائهشده به دستور \f3javadoc\fR به جای نام بستهها، نام فایلهای منبع باشند، حذف میشوند\&. هنگامی که آرگومانها نام فایلهای منبع باشند، یک فهرست بسته خالی ایجاد میشود\&. پوشه doc-files در مقصد ایجاد نمیشود مگر اینکه در درخت منبع وجود داشته باشد\&. به بخش Generated Files مراجعه کنید\&.
.TP 0.2i
\(bu
\fIapidocs\fR: پوشه سطح بالا
.RS
.TP 0.2i
\(bu
index\&.html: صفحه اولیه که فریمهای HTML را برپا میکند
.TP 0.2i
\(bu
*overview-summary\&.html: فهرست بستهها به همراه خلاصهها
.TP 0.2i
\(bu
overview-tree\&.html: سلسلهمراتب کلاسها برای همه بستهها
.TP 0.2i
\(bu
deprecated-list\&.html: رابطهای برنامهنویسی (API) منسوخشده برای همه بستهها
.TP 0.2i
\(bu
constant-values\&.html: مقادیر فیلدهای ایستا (static) برای همه بستهها
.TP 0.2i
\(bu
serialized-form\&.html: فرمهای سریالسازیشده برای همه بستهها
.TP 0.2i
\(bu
*overview-frame\&.html: همه بستهها برای نمایش در فریم بالا-چپ
.TP 0.2i
\(bu
allclasses-frame\&.html: همه کلاسها برای نمایش در فریم پایین-چپ
.TP 0.2i
\(bu
help-doc\&.html: راهنما درباره سازماندهی صفحات Javadoc
.TP 0.2i
\(bu
index-all\&.html: نمایه پیشفرض ایجادشده بدون گزینه \f3-splitindex\fR
.TP 0.2i
\(bu
\fIindex-files\fR: پوشه ایجادشده با گزینه \f3-splitindex\fR
.RS
.TP 0.2i
\(bu
index-\fR در کامنت مستندسازی قرار دهید در حالی که تورفتگی آن حفظ میشود\&. فاصلهها توسط مرورگرها نسبت به تبها به شکلی یکدستتر تفسیر میشوند\&. تورفتگی نسبت به حاشیهی چپ سنجیده میشود (نه نسبت به جداکنندهی \f3/**\fR یا برچسب \f3\fR)\&. .PP جملهی نخست (First Sentence) نخستین جملهی هر کامنت مستندسازی باید یک جملهی خلاصهساز باشد که شامل شرحی مختصر اما کامل از موجودیت اعلانشده باشد\&. این جمله در اولین نقطهای که پس از آن یک فاصله، تب یا پایاندهندهی خط قرار گیرد، یا در نخستین تگ بلوکی پایان مییابد\&. دستور \f3javadoc\fR این جملهی نخست را در خلاصهی اعضا (member summary) در بالای صفحهی HTML کپی میکند\&. .PP اعلانهای چندفیلدی (Multiple-Field Declarations) پلتفرم جاوا امکان اعلان چند فیلد را در یک عبارت واحد به شما میدهد، اما این عبارت تنها میتواند یک کامنت مستندسازی داشته باشد که برای همهی فیلدها کپی میشود\&. اگر برای هر فیلد کامنتهای مستندسازی مجزا میخواهید، هر فیلد را در یک عبارت جداگانه اعلان کنید\&. برای نمونه، کامنت مستندسازی زیر اگر در قالب یک اعلان واحد نوشته شود منطقی نیست و بهتر است در قالب دو اعلان مدیریت شود: .sp .nf \f3/** \fP .fi .nf \f3 * The horizontal and vertical distances of point (x,y)\fP .fi .nf \f3 */\fP .fi .nf \f3public int x, y; // Avoid this \fP .fi .nf \f3\fP .fi .sp دستور \f3javadoc\fR مستندات زیر را از کد قبلی تولید میکند: .sp .nf \f3public int x\fP .fi .nf \f3\fP .fi .sp فاصلههای افقی و عمودی نقطهی (x, y)\&. .sp .nf \f3public int y\fP .fi .nf \f3\fP .fi .sp فاصلههای افقی و عمودی نقطهی (x, y)\&..PP استفاده از برچسبهای سربرگ (Header Tags) هنگام نوشتن کامنتهای مستندسازی برای اعضا، بهتر است از برچسبهای سربرگ HTML مانند \f3\fR و \f3
\fR استفاده نشود، زیرا دستور \f3javadoc\fR یک سند ساختاریافته کامل ایجاد میکند و این برچسبهای ساختاری ممکن است با قالببندی سند تولیدشده تداخل داشته باشند\&. با این حال، میتوانید از این سربرگها در کامنتهای کلاس و بسته (package) برای ایجاد ساختار مورد نظر خود استفاده کنید\&. .SS "وراثت کامنت متد (METHOD COMMENT INHERITANCE)" دستور \f3javadoc\fR اجازه وراثت کامنت متد را در کلاسها و رابطها (interfaces) میدهد تا متنهای جاافتاده را پر کند یا به صورت صریح کامنتهای متد را به ارث ببرد\&. سازندهها (constructors)، فیلدها و کلاسهای تو در تو (nested classes) کامنتهای مستندسازی را به ارث نمیبرند\&. .PP \fIنکته:\fR فایل منبع متدِ به ارث بردهشده باید در مسیری که توسط گزینه \f3-sourcepath\fR مشخص شده است قرار داشته باشد تا کامنت مستندسازی آن برای کپی کردن در دسترس باشد\&. نه کلاس و نه بسته آن نیازی به ارسال از طریق خط فرمان ندارند\&. این رفتار برخلاف نسخه 1\&.3\&.\fIn\fR و نسخههای پیشین است که در آنها کلاس حتماً باید یک کلاس مستندشده میبود\&. .PP پر کردن متن جاافتاده هنگامی که توضیحات اصلی، یا برچسبهای \f3@return\fR، \f3@param\fR یا \f3@throws\fR در کامنت یک متد وجود نداشته باشند، دستور \f3javadoc\fR توضیحات اصلی یا کامنت برچسب متناظر را از متدی که آن را بازنویسی (override) یا پیادهسازی (implement) کرده است (در صورت وجود) کپی میکند\&. بخش «وراثت کامنت متد» (Method Comment Inheritance) را ببینید\&. .PP هنگامی که برچسب \f3@param\fR برای یک پارامتر خاص وجود ندارد، کامنت آن پارامتر از متد بالاتر در سلسلهمراتب وراثت کپی میشود\&. هنگامی که برچسب \f3@throws\fR برای یک استثنای خاص وجود ندارد، برچسب \f3@throws\fR تنها در صورتی کپی میشود که آن استثنا اعلان شده باشد\&. .PP این رفتار برخلاف نسخه 1\&.3 و نسخههای پیشین است که در آنها وجود هرگونه توضیحات اصلی یا برچسب مانع از به ارث رسیدن تمام کامنتها میشد\&. .PP بخش «برچسبها و گزینههای Javadoc» را ببینید\&. .PP وراثت صریح برچسب درونخطی \f3{@inheritDoc}\fR را در توضیحات اصلی متد یا کامنت برچسبهای \f3@return\fR، \f3@param\fR یا \f3@throws\fR درج کنید\&. توضیحات اصلی یا کامنت برچسب به ارث رسیده متناظر در همان مکان کپی میشود\&. .SS "وراثت کلاس و رابط (CLASS AND INTERFACE INHERITANCE)" وراثت کامنت در تمام حالتهای ممکنِ وراثت از کلاسها و رابطها رخ میدهد: .TP 0.2i \(bu هنگامی که یک متد در یک کلاس، متدی را در یک سوپرکلاس (superclass) بازنویسی (override) میکند .TP 0.2i \(bu هنگامی که یک متد در یک رابط، متدی را در یک رابط والد (superinterface) بازنویسی میکند .TP 0.2i \(bu هنگامی که یک متد در یک کلاس، متدی را در یک رابط پیادهسازی (implement) میکند .PP در دو حالت نخست، دستور \f3javadoc\fR زیرعنوان \fIOverrides\fR را در مستنداتِ متدِ بازنویسیکننده تولید میکند\&. پیوندی به متدی که بازنویسی شده اضافه میشود، چه کامنت به ارث برده شده باشد چه نشده باشد\&. .PP در حالت سوم، هنگامی که یک متد در یک کلاس مشخص، متدی را در یک رابط پیادهسازی میکند، دستور \f3javadoc\fR زیرعنوان \fISpecified by\fR را در مستنداتِ متدِ پیادهسازیکننده تولید میکند\&. پیوندی به متدی که پیادهسازی شده قرار میگیرد، چه کامنت به ارث برده شده باشد چه نشده باشد\&. .SS "الگوریتم کامنتهای متد (METHOD COMMENTS ALGORITHM)" اگر متدی کامنت مستندسازی نداشته باشد، یا شامل برچسب \f3{@inheritDoc}\fR باشد، دستور \f3javadoc\fR از الگوریتم زیر برای یافتن یک کامنت کاربردی استفاده میکند\&. این الگوریتم طوری طراحی شده است که خاصترین کامنت مستندسازیِ قابلاعمال را بیابد و رابطها را بر سوپرکلاسها ترجیح دهد: .TP 0.4i 1\&. در هر رابطِ مستقیماً پیادهسازیشده (یا ارثبریشده/extended) به ترتیبی که پس از کلمه \f3implements\fR (یا \f3extends\fR) در اعلان متد ظاهر میشوند، جستجو کنید\&. از اولین کامنت مستندسازی یافتشده برای این متد استفاده کنید\&. .TP 0.4i 2\&. اگر مرحله ۱ در یافتن کامنت مستندسازی ناموفق بود، کل این الگوریتم را به صورت بازگشتی بر روی هر رابط مستقیماً پیادهسازیشده (یا ارثبریشده) به همان ترتیبی که در مرحله ۱ بررسی شدند، اعمال کنید\&. .TP 0.4i 3\&. هنگامی که مرحله ۲ در یافتن کامنت مستندسازی ناموفق باشد و این ساختار، کلاسی به غیر از کلاس \f3Object\fR باشد (نه یک رابط): .RS .TP 0.4i 1\&. اگر سوپرکلاس دارای یک کامنت مستندسازی برای این متد است، از آن استفاده کنید\&. .TP 0.4i 2\&. اگر مرحله ۳-الف در یافتن کامنت مستندسازی ناموفق بود، کل این الگوریتم را به صورت بازگشتی روی سوپرکلاس اعمال کنید\&. .RE .SH "برچسبهای جاوا داک (JAVADOC TAGS)" دستور \f3javadoc\fR برچسبهای ویژهای را که درون کامنت مستندسازی جاوا قرار گرفتهاند تجزیه میکند\&. برچسبهای \f3javadoc\fR به شما امکان میدهند تا یک API کامل و خوشقالب را به طور خودکار از کد منبع خود تولید کنید\&. این برچسبها با علامت اتساین (\f3@\fR) آغاز میشوند و حساس به بزرگ و کوچکی حروف هستند\&. آنها باید با حروف بزرگ و کوچک دقیقاً همانگونه که نشان داده شدهاند تایپ شوند\&. یک برچسب باید در ابتدای خط (پس از هر فاصله ابتدایی و ستاره اختیاری) آغاز شود، در غیر این صورت به عنوان متن در نظر گرفته میشود\&. طبق عرف، برچسبهای همنام با هم گروهبندی میشوند؛ برای مثال، تمام برچسبهای \f3@see\fR را کنار هم قرار دهید\&. برای اطلاعات بیشتر، بخش «مکانهای قابل استفاده برای برچسبها» (Where Tags Can Be Used) را ببینید\&. .PP برچسبها دارای انواع زیر هستند: .TP 0.2i \(bu برچسبهای بلوکی (Block tags): برچسبهای بلوکی را تنها در بخش برچسبها که پس از توضیحات میآید قرار دهید\&. برچسبهای بلوکی به شکل \fI@tag\fR هستند\&. .TP 0.2i \(bu برچسبهای درونخطی (Inline tags): برچسبهای درونخطی را در هر کجای توضیحات اصلی یا در کامنتهای برچسبهای بلوکی قرار دهید\&. برچسبهای درونخطی در میان آکولادها محصور میشوند: \fI{@tag}\fR\&. .PP برای برچسبهای سفارشی، گزینه \f3-tag tagname:Xaoptcmf:"taghead"\fR را ببینید\&. همچنین بخش «مکانهای قابل استفاده برای برچسبها» (Where Tags Can Be Used) را ببینید\&. .SS "شرح برچسبها (TAG DESCRIPTIONS)" .TP @author \fIname-text\fR معرفیشده در JDK 1\&.0 هنگامی که از گزینه \f3-author\fR استفاده میشود، یک مدخل «Author» با متن نام مشخصشده به اسناد تولیدشده اضافه میکند\&. یک کامنت مستندسازی میتواند شامل چندین برچسب \f3@author\fR باشد\&. شما میتوانید در هر برچسب \f3@author\fR یک نام، یا در هر برچسب چندین نام را مشخص کنید\&. در حالت اول، دستور \f3javadoc\fR یک ویرگول (,) و یک فاصله بین نامها درج میکند\&. در حالت دوم، تمام متن بدون تجزیه شدن در سند تولیدشده کپی میشود\&. بنابراین، اگر جداکننده نامِ بومیسازیشده دیگری به غیر از ویرگول میخواهید، میتوانید از چندین نام در یک خط استفاده کنید\&. مدخل @author را در How to Write Doc Comments for the Javadoc Tool در http://www\&.oracle\&.com/technetwork/java/javase/documentation/index-137868\&.html#@author ببینید\&. .TP {@code \fItext\fR} معرفیشده در JDK 1\&.5 معادل با \f3
{@literal}\fR\&. متن را با قلم کد (code font) بدون تفسیر آن به عنوان نشانهگذاری HTML یا برچسبهای تودرتوی Javadoc نمایش میدهد\&. این امکان را به شما میدهد تا به جای موجودیتهای HTML (\f3<\fR و \f3>\fR)، از براکتهای شکسته معمولی (< و >) در کامنتهای مستندسازی استفاده کنید، مانند انواع پارامترها (\f3