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, 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, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, 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_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
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 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, toString
public 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 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 nameIllegalArgumentException
- 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 importUnsupportedOperationException
- 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 importUnsupportedOperationException
- 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
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.