# Interface ModuleTree

All Superinterfaces:
  `Tree`

public interface ModuleTree extends Tree
A tree node for a module declaration. For example:

       annotations
       [open] module module-name {
           directives
       }

Since:
  9

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static enum`
  `ModuleTree.ModuleKind`
  The kind of the module.

  ### Nested classes/interfaces declared in interface Tree

  `Tree.Kind`
  Modifier and Type
  Interface
  Description
  `static enum`
  `Tree.Kind`
  Enumerates all kinds of trees.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<? extends AnnotationTree>`
  `getAnnotations()`
  Returns the annotations associated with this module declaration.
  `List<? extends DirectiveTree>`
  `getDirectives()`
  Returns the directives in the module declaration.
  `ModuleTree.ModuleKind`
  `getModuleType()`
  Returns the type of this module.
  `ExpressionTree`
  `getName()`
  Returns the name of the module.

  ### Methods declared in interface Tree

  `accept, getKind`
  Modifier and Type
  Method
  Description
  `<R,D> R`
  `accept(TreeVisitor<R,D> visitor, D data)`
  Accept method used to implement the visitor pattern.
  `Tree.Kind`
  `getKind()`
  Returns the kind of this tree.

- ## Method Details

  - ### getAnnotations

    List<? extends AnnotationTree> getAnnotations()
    Returns the annotations associated with this module declaration.
    Returns:
      the annotations

  - ### getModuleType

    ModuleTree.ModuleKind getModuleType()
    Returns the type of this module.
    Returns:
      the type of this module

  - ### getName

    ExpressionTree getName()
    Returns the name of the module.
    Returns:
      the name of the module

  - ### getDirectives

    List<? extends DirectiveTree> getDirectives()
    Returns the directives in the module declaration.
    Returns:
      the directives in the module declaration