Module java.compiler
Package javax.lang.model.element

## Interface ModuleElement.Directive

- All Known Subinterfaces:
    `ModuleElement.ExportsDirective`, `ModuleElement.OpensDirective`, `ModuleElement.ProvidesDirective`, `ModuleElement.RequiresDirective`, `ModuleElement.UsesDirective`
  Enclosing interface:
    ModuleElement

      public static interface ModuleElement.Directive

  Represents a directive within the declaration of this module. The directives of a module declaration configure the module in the Java Platform Module System.
  Since:
    9

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<R,P> R` | `accept​(ModuleElement.DirectiveVisitor<R,P> v, P p)` | Applies a visitor to this directive.
    `ModuleElement.DirectiveKind` | `getKind​()` | Returns the `kind` of this directive.

- - ### Method Detail

    - #### getKind

          ModuleElement.DirectiveKind getKind​()

      Returns the `kind` of this directive.
      Returns:
        the kind of this directive

    - #### accept

          <R,P> R accept​(ModuleElement.DirectiveVisitor<R,P> v,
                         P p)

      Applies a visitor to this directive.
      Type Parameters:
        `R` - the return type of the visitor's methods
        `P` - the type of the additional parameter to the visitor's methods
      Parameters:
        `v` - the visitor operating on this directive
        `p` - additional parameter to the visitor
      Returns:
        a visitor-specified result