# Interface DocletEnvironment

public interface DocletEnvironment
Represents the operating environment of a single invocation of the doclet. This object can be used to access the program structures, various utilities and the user specified elements on the command line.

Since:
  9

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static enum`
  `DocletEnvironment.ModuleMode`
  The mode specifying the level of detail of module documentation.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DocTrees`
  `getDocTrees()`
  Returns an instance of the `DocTrees` utility class.
  `Elements`
  `getElementUtils()`
  Returns an instance of the `Elements` utility class.
  `JavaFileObject.Kind`
  `getFileKind(TypeElement type)`
  Returns the file kind of a type element.
  `Set<? extends Element>`
  `getIncludedElements()`
  Returns the module, package and type elements that should be included in the documentation.
  `JavaFileManager`
  `getJavaFileManager()`
  Returns the file manager used to read and write files.
  `DocletEnvironment.ModuleMode`
  `getModuleMode()`
  Returns the required level of module documentation.
  `SourceVersion`
  `getSourceVersion()`
  Returns the source version of the source files that were read.
  `Set<? extends Element>`
  `getSpecifiedElements()`
  Returns the elements specified when the tool is invoked.
  `Types`
  `getTypeUtils()`
  Returns an instance of the `Types` utility class.
  `boolean`
  `isIncluded(Element e)`
  Returns true if an element should be included in the documentation.
  `boolean`
  `isSelected(Element e)`
  Returns true if the element is selected.

- ## Method Details

  - ### getSpecifiedElements

    Set<? extends Element> getSpecifiedElements()
    Returns the elements specified when the tool is invoked.
    Returns:
      the set of specified elements

  - ### getIncludedElements

    Set<? extends Element> getIncludedElements()
    Returns the module, package and type elements that should be included in the documentation.
    Returns:
      the set of included elements

  - ### getDocTrees

    DocTrees getDocTrees()
    Returns an instance of the `DocTrees` utility class. This class provides methods to access `TreePath`s, `DocCommentTree`s and so on.
    Returns:
      a utility class to operate on doc trees

  - ### getElementUtils

    Elements getElementUtils()
    Returns an instance of the `Elements` utility class. This class provides methods for operating on `elements`.
    Returns:
      a utility class to operate on elements

  - ### getTypeUtils

    Types getTypeUtils()
    Returns an instance of the `Types` utility class. This class provides methods for operating on `type mirrors`.
    Returns:
      a utility class to operate on type mirrors

  - ### isIncluded

    boolean isIncluded(Element e)
    Returns true if an element should be included in the documentation.
    Parameters:
      `e` - the element
    Returns:
      true if included, false otherwise

  - ### isSelected

    boolean isSelected(Element e)
    Returns true if the element is selected.
    Parameters:
      `e` - the element
    Returns:
      true if selected, false otherwise

  - ### getJavaFileManager

    JavaFileManager getJavaFileManager()
    Returns the file manager used to read and write files.
    Returns:
      the file manager used to read and write files

  - ### getSourceVersion

    SourceVersion getSourceVersion()
    Returns the source version of the source files that were read.
    Returns:
      the source version

  - ### getModuleMode

    DocletEnvironment.ModuleMode getModuleMode()
    Returns the required level of module documentation.
    Returns:
      the required level of module documentation

  - ### getFileKind

    JavaFileObject.Kind getFileKind(TypeElement type)
    Returns the file kind of a type element.
    Parameters:
      `type` - the type element
    Returns:
      the file kind