Eclipse JDT
Release 3.0

org.eclipse.jdt.core.dom
Class ImportDeclaration

java.lang.Object
  extended byorg.eclipse.jdt.core.dom.ASTNode
      extended byorg.eclipse.jdt.core.dom.ImportDeclaration

public class ImportDeclaration
extends ASTNode

Import declaration AST node type. For JLS2:

 ImportDeclaration:
    import Name [ . * ] ;
 
For JLS3, static was added:
 ImportDeclaration:
    import [ static ] Name [ . * ] ;
 

Since:
2.0

Field Summary
static ChildPropertyDescriptor NAME_PROPERTY
          The "name" structural property of this node type.
static SimplePropertyDescriptor ON_DEMAND_PROPERTY
          The "onDemand" structural property of this node type.
static SimplePropertyDescriptor STATIC_PROPERTY
          The "static" structural property of this node type (added in JLS3 API).
 
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, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVADOC, LABELED_STATEMENT, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_PARAMETER, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
 
Method Summary
 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 or type imported by 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).
 
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, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NAME_PROPERTY

public static final ChildPropertyDescriptor NAME_PROPERTY
The "name" structural property of this node type.

Since:
3.0

ON_DEMAND_PROPERTY

public static final SimplePropertyDescriptor ON_DEMAND_PROPERTY
The "onDemand" structural property of this node type.

Since:
3.0

STATIC_PROPERTY

public static final SimplePropertyDescriptor STATIC_PROPERTY
The "static" structural property of this node type (added in JLS3 API).

Since:
3.0
Method Detail

propertyDescriptors

public static List 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)
Since:
3.0

getName

public Name getName()
Returns the name imported by this declaration.

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.

Returns:
the imported name node

setName

public void setName(Name name)
Sets the name of this import declaration to the given 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.

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

isOnDemand

public boolean isOnDemand()
Returns whether this import declaration is an on-demand or a single-type import.

Returns:
true if this is an on-demand import, and false if this is a single type import

setOnDemand

public void setOnDemand(boolean onDemand)
Sets whether this import declaration is an on-demand or a single-type import.

Parameters:
onDemand - true if this is an on-demand import, and false if this is a single type import

isStatic

public boolean isStatic()
Returns whether this import declaration is a static import (added in JLS3 API).

Note: This API element is only needed for dealing with Java code that uses new language features of J2SE 1.5. It is included in anticipation of J2SE 1.5 support, which is planned for the next release of Eclipse after 3.0, and may change slightly before reaching its final form.

Returns:
true if this is a static import, and false if this is a regular import
Throws:
UnsupportedOperationException - if this operation is used in a JLS2 AST
Since:
3.0

setStatic

public void setStatic(boolean isStatic)
Sets whether this import declaration is a static import (added in JLS3 API).

Note: This API element is only needed for dealing with Java code that uses new language features of J2SE 1.5. It is included in anticipation of J2SE 1.5 support, which is planned for the next release of Eclipse after 3.0, and may change slightly before reaching its final form.

Parameters:
isStatic - true if this is a static import, and false if this is a regular import
Throws:
UnsupportedOperationException - if this operation is used in a JLS2 AST
Since:
3.0

resolveBinding

public IBinding resolveBinding()
Resolves and returns the binding for the package or type imported by this import declaration.

Note that bindings are generally unavailable unless requested when the AST is being built.

Returns:
the package binding (for on-demand imports) or type binding (for single-type imports), or null if the binding cannot be resolved

Eclipse JDT
Release 3.0

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.