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

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 Details

### 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