Module  jdk.javadoc

Package com.sun.javadoc

注意:此包中的声明已被包装jdk.javadoc.doclet的声明所取代。 有关详细信息,请参阅该软件包的文档中的“ 迁移指南”

Doclet API(也称为Javadoc API)为客户端提供了一种机制,可以检查程序和库的源代码级结构,包括源代码中嵌入的javadoc注释。 这对于文档,程序检查,自动代码生成和许多其他工具非常有用。

Doclet由javadoc调用,并使用此API将程序信息写入文件。 例如,默认情况下调用标准doclet,并将文档写入HTML文件。

调用由抽象的Doclet类定义 - 入门点是start方法:

  public static boolean start(RootDoc root) 
RootDoc实例保存程序结构信息的根。 从此根可以提取所有其他程序结构信息。

术语

调用javadoc时,传递包名称和源文件名称 - 这些名称称为指定的包和类。 您还传递Javadoc选项; 访问控制 Javadoc选项( -public-protected-package ,和-private )过滤程序元件,产生一个结果集,被称为包含组,或“记录”集。 (未过滤的套件也可通过allClasses(false)获得 。)

整个API,术语通常为“类或接口”的简写,如: ClassDocallClasses() ,和findClass(String) 在其他几个地方,它意味着“类,而不是接口”,如: Doc.isClass() 在第二个意义上说,这个API调用出来4种类: ordinary classesenumserrorsexceptions 在整个API中,每个程序元素的详细描述明确地描述了正在使用的含义。

限定类或接口名称是其前缀的名称,如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());
            }
        }
    }
} 
来自Javadoc API的接口和方法标记为红色 Doclet是指定用于doclet的调用接口的抽象类, Doclet保存类或接口信息, ExecutableMemberDocMethodDocConstructorDoc超级 接口 ,并且ParamTag保存来自“ @param ”标签的信息。

当使用以下命令行调用此doclet时:

  javadoc -doclet ListParams -sourcepath <source-location> java.util 
产出如下:
  ...
    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.
    ... 
另请参见:
Doclet, RootDoc