org.eclipse.wst.jsdt.core.dom

## Class ModuleSpecifier

- java.lang.Object
- - org.eclipse.wst.jsdt.core.dom.ASTNode
  - - org.eclipse.wst.jsdt.core.dom.ModuleSpecifier

    public class ModuleSpecifier
    extends ASTNode

ModuleSpecifier for Import/Export declarations

When used with `ImportDeclaration` The `discoverableName` refers to the name of the export imported from the module. The `local` refers to the binding imported into the local module scope. For basic named import such as `import {foo} from "mod"` discoverableName and local are equivalent nodes.

`isDefault` is used with `ImportDeclaration` to signal a default import such as `import foo from "mod.js".`

`namespace` is used with imports to signal a namespace import e.g., `* as foo` in `import * as foo from "mod.js"`.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Field Summary

Fields
`static SimplePropertyDescriptor` `DEFAULT_PROPERTY` The "isDefault" structural property of this node type.
`static ChildPropertyDescriptor` `DISCOVERABLE_NAME_PROPERTY` The "discoverableName" structural property of this node type.
`static ChildPropertyDescriptor` `LOCAL_PROPERTY` The "local" structural property of this node type.
`static SimplePropertyDescriptor` `NAMESPACE_PROPERTY` The "namespace" structural property of this node type.

### Fields inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

`ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_NAME, ARRAY_TYPE, ARROW_FUNCTION_EXPRESSION, ASSIGNMENT, ASSIGNMENT_NAME, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DEBUGGER_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPORT_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_OF_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_DECLARATION_STATEMENT, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, META_PROPERTY, MODIFIER, MODULE_SPECIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OBJECT_NAME, ORIGINAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, REST_ELEMENT_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, SPREAD_ELEMENT, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEMPLATE_ELEMENT, TEMPLATE_LITERAL, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_EXPRESSION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WITH_STATEMENT, YIELD_EXPRESSION`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`SimpleName` `getDiscoverableName()` Returns this node's discoverable name
`SimpleName` `getLocal()` Returns this node's local name
`boolean` `isDefault()`
`boolean` `isNamespace()`
`static java.util.List<StructuralPropertyDescriptor>` `propertyDescriptors(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` `setDefault(boolean isDefault)`
`void` `setDiscoverableName(SimpleName name)` Sets the discoverable name of this node
`void` `setLocal(SimpleName local)` Sets the local name of this node to the given value.
`void` `setNamespace(boolean namespace)`

### Methods inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode

`accept, copySubtree, copySubtrees, delete, equals, getAST, getBodyChild, 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

#### LOCAL_PROPERTY

    public static final ChildPropertyDescriptor LOCAL_PROPERTY

The "local" structural property of this node type.

#### DISCOVERABLE_NAME_PROPERTY

    public static final ChildPropertyDescriptor DISCOVERABLE_NAME_PROPERTY

The "discoverableName" structural property of this node type.

#### DEFAULT_PROPERTY

    public static final SimplePropertyDescriptor DEFAULT_PROPERTY

The "isDefault" structural property of this node type.

#### NAMESPACE_PROPERTY

    public static final SimplePropertyDescriptor NAMESPACE_PROPERTY

The "namespace" structural property of this node type.

### Method Detail

#### propertyDescriptors

    public static java.util.List<StructuralPropertyDescriptor> propertyDescriptors(int apiLevel)

Returns a list of structural property descriptors for this node type. Clients must not modify the result.

Parameters:
  `apiLevel` - the API level; one of the AST.JLS* constants
Returns:
  a list of property descriptors (element type: `StructuralPropertyDescriptor`)

#### getLocal

    public SimpleName getLocal()

Returns this node's local name

Returns:

#### setLocal

    public void setLocal(SimpleName local)

Sets the local name of this node to the given value.

Parameters:
  `local` -

#### getDiscoverableName

    public SimpleName getDiscoverableName()

Returns this node's discoverable name

Returns:

#### setDiscoverableName

    public void setDiscoverableName(SimpleName name)

Sets the discoverable name of this node

Parameters:
  `discoverableName` -

#### isDefault

    public boolean isDefault()

#### setDefault

    public void setDefault(boolean isDefault)

#### isNamespace

    public boolean isNamespace()

#### setNamespace

    public void setNamespace(boolean namespace)