API Doclet
Проект сборка-b92

Пакет com.sun.javadoc

API Doclet (также названный API Javadoc) предоставляет механизм клиентам, чтобы осмотреть структуру на уровне источника программ и библиотек, включая комментарии javadoc, встроенные в источник.

См.: Описание

Пакет com.sun.javadoc Описание

API Doclet (также названный API Javadoc) предоставляет механизм клиентам, чтобы осмотреть структуру на уровне источника программ и библиотек, включая комментарии javadoc, встроенные в источник. Это полезно для документации, проверки программы, автоматической генерации кода и многих других инструментов.

Doclets вызываются javadoc и используют этот API, чтобы выписать информацию о программе к файлам. Например, стандарт doclet вызывают по умолчанию и выписывает документацию к файлам HTML.

Вызов определяется кратким обзором Doclet class - точка входа start метод:

    public static boolean start(RootDoc root)
RootDoc экземпляр содержит корень информации о структуре программы. От этого корня может быть извлечена вся другая информация о структуре программы.

Терминология

Вызывая javadoc, Вы передаете на имена пакета и имена исходного файла - их вызывают указанными пакетами и классами. Вы также передаете в опциях Javadoc; опции Javadoc управления доступом (-public, -protected, -package, и -private) элементы программы фильтра, производя набор результатов, названный включенным набором, или "задокументированным" набором. (Нефильтруемый набор также доступен через allClasses(false).)

Всюду по этому API термин class обычно является сокращением для "class или интерфейса", как в: ClassDoc, allClasses(), и findClass(String). Только в нескольких других местах это означает "class, в противоположность интерфейсу", как в: Doc.isClass(). Во втором смысле, это вызовы API четыре вида классов: обычные классы, перечисления, ошибки и исключения. Всюду по API подробное описание каждого элемента программы описывает явно, какое значение используется.

Квалифицированное имя class или интерфейса является тем, которому предварительно ожидали его имя пакета к нему, такой как java.lang.String. У неполностью определенного имени нет никакого имени пакета, такой как String.

Пример

Следующее является примером doclet, который выводит на экран информацию в @param теги обработанных классов:
import com.sun.javadoc.*;

public class ListParams extends Doclet {

    public static boolean start(RootDoc root) {
        ClassDoc[] classes = root.classes();
        for (int i = 0; i < classes.length; ++i) {
            ClassDoc cd = classes[i];
            printMembers(cd.constructors());
            printMembers(cd.methods());
        }
        return true;
    }

    static void printMembers(ExecutableMemberDoc[] mems) {
        for (int i = 0; i < mems.length; ++i) {
            ParamTag[] params = mems[i].paramTags();
            System.out.println(mems[i].qualifiedName());
            for (int j = 0; j < params.length; ++j) {
                System.out.println("   " + params[j].parameterName()
                    + " - " + params[j].parameterComment());
            }
        }
    }        
}
Interfaces and methods from the Javadoc API are marked in red. Doclet is an abstract class that specifies the invocation interface for doclets, Doclet holds class or interface information, ExecutableMemberDoc is a superinterface of MethodDoc and ConstructorDoc, and ParamTag holds information from "@param" tags.

This doclet when invoked with a command line like:

    javadoc -doclet ListParams -sourcepath <source-location> java.util
producing output like:
    ...
    java.util.ArrayList.add
       index - index at which the specified element is to be inserted.
       element - element to be inserted.
    java.util.ArrayList.remove
       index - the index of the element to removed.
    ...

See Also:
Doclet, RootDoc
Doclet API
DRAFT ea-b92

Представьте ошибку или функцию
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2013, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.

DRAFT ea-b92