Doclet (Doclet API )
Keywords: com.sun.javadoc.Doclet class
Date: 2026-07-22

com.sun.javadoc

## Class Doclet

- java.lang.Object
- - com.sun.javadoc.Doclet

-     public abstract class Doclet
      extends Object

  This is an example of a starting class for a doclet, showing the entry-point methods. A starting class must import com.sun.javadoc.* and implement the `start(RootDoc)` method, as described in the package description. If the doclet takes command line options, it must also implement `optionLength` and `validOptions`.

  A doclet supporting the language features added since 1.1 (such as generics and annotations) should indicate this by implementing `languageVersion`. In the absence of this the doclet should not invoke any of the Doclet API methods added since 1.5, and the results of several other methods are modified so as to conceal the new constructs (such as type parameters) from the doclet.

  To start the doclet, pass `-doclet` followed by the fully-qualified name of the starting class on the javadoc tool command line.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Doclet()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static LanguageVersion` | `languageVersion()` Return the version of the Java Programming Language supported by this doclet.
    `static int` | `optionLength(String option)` Check for doclet-added options.
    `static boolean` | `start(RootDoc root)` Generate documentation here.
    `static boolean` | `validOptions(String[][] options, DocErrorReporter reporter)` Check that options have the correct arguments.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Doclet

          public Doclet()

  - ### Method Detail

    - #### start

          public static boolean start(RootDoc root)

      Generate documentation here. This method is required for all doclets.
      Returns:
        true on success.

    - #### optionLength

          public static int optionLength(String option)

      Check for doclet-added options. Returns the number of arguments you must specify on the command line for the given option. For example, "-d docs" would return 2.

      This method is required if the doclet contains any options. If this method is missing, Javadoc will print an invalid flag error for every option.

      Returns:
        number of arguments on the command line for an option including the option name itself. Zero return means option not known. Negative value means error occurred.

    - #### validOptions

          public static boolean validOptions(String[][] options,
                                             DocErrorReporter reporter)

      Check that options have the correct arguments.

      This method is not required, but is recommended, as every option will be considered valid if this method is not present. It will default gracefully (to true) if absent.

      Printing option related error messages (using the provided DocErrorReporter) is the responsibility of this method.

      Returns:
        true if the options are valid.

    - #### languageVersion

          public static LanguageVersion languageVersion()

      Return the version of the Java Programming Language supported by this doclet.

      This method is required by any doclet supporting a language version newer than 1.1.

      Returns:
        the language version supported by this doclet.
      Since:
        1.5

Submit a bug or feature
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.