public class ImportDeclaration extends ASTNode
ImportDeclaration:
import [ static ] Name [ . * ] ;
| Modifier and Type | Field and Description |
|---|---|
static ChildPropertyDescriptor |
NAME_PROPERTY
The "name" structural property of this node type (child type:
Name). |
static SimplePropertyDescriptor |
ON_DEMAND_PROPERTY
The "onDemand" structural property of this node type (type:
Boolean). |
static SimplePropertyDescriptor |
STATIC_PROPERTY
The "static" structural property of this node type (type:
Boolean) (added in JLS3 API). |
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, RECORD_DECLARATION, 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| Modifier and Type | Method and Description |
|---|---|
Name |
getName()
Returns the name imported by this declaration.
|
boolean |
isOnDemand()
Returns whether this import declaration is an on-demand or a
single-type import.
|
boolean |
isStatic()
Returns whether this import declaration is a static import (added in JLS3 API).
|
static java.util.List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.
|
IBinding |
resolveBinding()
Resolves and returns the binding for the package, type, field, or
method named in this import declaration.
|
void |
setName(Name name)
Sets the name of this import declaration to the given name.
|
void |
setOnDemand(boolean onDemand)
Sets whether this import declaration is an on-demand or a
single-type import.
|
void |
setStatic(boolean isStatic)
Sets whether this import declaration is a static import (added in JLS3 API).
|
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, toStringpublic static final ChildPropertyDescriptor NAME_PROPERTY
Name).public static final SimplePropertyDescriptor ON_DEMAND_PROPERTY
Boolean).public static final SimplePropertyDescriptor STATIC_PROPERTY
Boolean) (added in JLS3 API).public static java.util.List propertyDescriptors(int apiLevel)
apiLevel - the API level; one of the
AST.JLS* constantsStructuralPropertyDescriptor)public Name getName()
For a regular on-demand import, this is the name of a package. For a static on-demand import, this is the qualified name of a type. For a regular single-type import, this is the qualified name of a type. For a static single-type import, this is the qualified name of a static member of a type.
public void setName(Name name)
For a regular on-demand import, this is the name of a package. For a static on-demand import, this is the qualified name of a type. For a regular single-type import, this is the qualified name of a type. For a static single-type import, this is the qualified name of a static member of a type.
name - the new import namejava.lang.IllegalArgumentException - if:
public boolean isOnDemand()
true if this is an on-demand import,
and false if this is a single type importpublic void setOnDemand(boolean onDemand)
onDemand - true if this is an on-demand import,
and false if this is a single type importpublic boolean isStatic()
true if this is a static import,
and false if this is a regular importjava.lang.UnsupportedOperationException - if this operation is used in
a JLS2 ASTpublic void setStatic(boolean isStatic)
isStatic - true if this is a static import,
and false if this is a regular importjava.lang.UnsupportedOperationException - if this operation is used in
a JLS2 ASTpublic IBinding resolveBinding()
The name specified in a non-static single-type import can resolve to a type (only). The name specified in a non-static on-demand import can itself resolve to either a package or a type. For static imports (introduced in JLS3), the name specified in a static on-demand import can itself resolve to a type (only). The name specified in a static single import can resolve to a type, field, or method; in cases where the name could be resolved to more than one element with that name (for example, two methods both named "max", or a method and a field), this method returns one of the plausible bindings.
Note that bindings are generally unavailable unless requested when the AST is being built.
null
if the binding cannot be resolved