Package org.eclipse.jdt.core.dom

## Class ModulePackageAccess

- java.lang.Object
- - org.eclipse.jdt.core.dom.ASTNode
  - - org.eclipse.jdt.core.dom.ModuleDirective
    - - org.eclipse.jdt.core.dom.ModulePackageAccess

Direct Known Subclasses:
  `ExportsDirective`, `OpensDirective`

    public abstract class ModulePackageAccess
    extends ModuleDirective

Abstract base class of AST nodes that represent exports and opens directives (added in JLS9 API).

     ModulePackageAccess:
        ExportsDirective
        OpensDirective

Since:
  3.14
Restriction:
  This class is not intended to be subclassed by clients.

### Field Summary

Fields
`protected org.eclipse.jdt.core.dom.ASTNode.NodeList` `modules` The target modules (element type: `Name`).
`protected Name` `name` The package name; lazily initialized; defaults to a unspecified, legal Java identifier.

### Fields inherited from class org.eclipse.jdt.core.dom.ASTNode

`ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `acceptVisitChildren​(boolean visitChildren, ASTVisitor visitor)`
`protected ASTNode` `cloneHelper​(AST target, ModulePackageAccess result)`
`Name` `getName()` Returns the name of the package.
`ChildPropertyDescriptor` `getNameProperty()` Returns structural property descriptor for the "name" property of this node (child type: `Name`).
`List` `modules()` Returns the live ordered list of target modules for this directive.
`void` `setName​(Name name)` Sets the name of the package to the given name.

### Methods inherited from class org.eclipse.jdt.core.dom.ASTNode

`accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### name

    protected Name name

The package name; lazily initialized; defaults to a unspecified, legal Java identifier.

#### modules

    protected org.eclipse.jdt.core.dom.ASTNode.NodeList modules

The target modules (element type: `Name`). Defaults to an empty list. (see constructor)

### Method Detail

#### getNameProperty

    public final ChildPropertyDescriptor getNameProperty()

Returns structural property descriptor for the "name" property of this node (child type: `Name`).

Returns:
  the property descriptor

#### getName

    public Name getName()

Returns the name of the package.

Returns:
  the package name node

#### setName

    public void setName​(Name name)

Sets the name of the package to the given name.

Parameters:
  `name` - the new package name
Throws:
  `IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent

#### modules

    public List modules()

Returns the live ordered list of target modules for this directive.

Returns:
  the live list of target modules (element type: `Name`)

#### cloneHelper

    protected ASTNode cloneHelper​(AST target,
                                  ModulePackageAccess result)

#### acceptVisitChildren

    protected void acceptVisitChildren​(boolean visitChildren,
                                       ASTVisitor visitor)