# Interface Doclet.Option

Enclosing interface:
  `Doclet`

public static interface Doclet.Option
An encapsulation of option name, aliases, parameters and descriptions as used by the Doclet.

Since:
  9

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static enum`
  `Doclet.Option.Kind`
  The kind of an option.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getArgumentCount()`
  Returns the number of arguments, this option will consume.
  `String`
  `getDescription()`
  Returns the description of the option.
  `Doclet.Option.Kind`
  `getKind()`
  Returns the option kind.
  `List<String>`
  `getNames()`
  Returns the list of names that may be used to identify the option.
  `String`
  `getParameters()`
  Returns the parameters of the option.
  `boolean`
  `process(String option, List<String> arguments)`
  Processes the option and arguments as needed.

- ## Method Details

  - ### getArgumentCount

    int getArgumentCount()
    Returns the number of arguments, this option will consume.
    Returns:
      number of consumed arguments

  - ### getDescription

    String getDescription()
    Returns the description of the option. For instance, the option "group", would return the synopsis of the option such as, "groups the documents".
    Returns:
      description if set, otherwise an empty String

  - ### getKind

    Doclet.Option.Kind getKind()
    Returns the option kind.
    Returns:
      the kind of this option

  - ### getNames

    List<String> getNames()
    Returns the list of names that may be used to identify the option. For instance, the list could be `["-classpath", "--class-path"]` for the option "-classpath", with an alias "--class-path".
    Returns:
      the names of the option

  - ### getParameters

    String getParameters()
    Returns the parameters of the option. For instance "name <p1>:<p2>.."
    Returns:
      parameters if set, otherwise an empty String

  - ### process

    boolean process(String option, List<String> arguments)
    Processes the option and arguments as needed. This method will be invoked if the given option name matches the option.
    Parameters:
      `option` - the option
      `arguments` - a list encapsulating the arguments
    Returns:
      true if operation succeeded, false otherwise