org.aspectj.org.eclipse.jdt.internal.core
Class ImportDeclaration

java.lang.Object
  extended by PlatformObject
      extended by org.aspectj.org.eclipse.jdt.internal.core.JavaElement
          extended by org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
              extended by org.aspectj.org.eclipse.jdt.internal.core.ImportDeclaration
All Implemented Interfaces:
IImportDeclaration, IJavaElement, ISourceManipulation, ISourceReference
Direct Known Subclasses:
AssistImportDeclaration

public class ImportDeclaration
extends SourceRefElement
implements IImportDeclaration

Handle for an import declaration. Info object is a ImportDeclarationElementInfo.

See Also:
IImportDeclaration

Field Summary
protected  boolean isOnDemand
           
protected  java.lang.String name
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
occurrenceCount
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaElement
JEM_ANNOTATION, JEM_CLASSFILE, JEM_COMPILATIONUNIT, JEM_COUNT, JEM_ESCAPE, JEM_FIELD, JEM_IMPORTDECLARATION, JEM_INITIALIZER, JEM_JAVAPROJECT, JEM_LOCALVARIABLE, JEM_METHOD, JEM_PACKAGEDECLARATION, JEM_PACKAGEFRAGMENT, JEM_PACKAGEFRAGMENTROOT, JEM_TYPE, JEM_TYPE_PARAMETER, NO_ELEMENTS, NO_INFO, parent
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.core.IJavaElement
ANNOTATION, CLASS_FILE, COMPILATION_UNIT, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVA_MODEL, JAVA_PROJECT, LOCAL_VARIABLE, METHOD, PACKAGE_DECLARATION, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE, TYPE_PARAMETER
 
Constructor Summary
protected ImportDeclaration(ImportContainer parent, java.lang.String name, boolean isOnDemand)
          Constructs an ImportDeclaration in the given import container with the given name.
 
Method Summary
 boolean equals(java.lang.Object o)
          Returns true if this handle represents the same Java element as the given handle.
 java.lang.String getElementName()
          Returns the name of this element.
 int getElementType()
          Returns this element's kind encoded as an integer.
 int getFlags()
          Returns the modifier flags for this import.
protected  void getHandleMemento(java.lang.StringBuffer buff)
           
protected  char getHandleMementoDelimiter()
          Returns the char that marks the start of this handles contribution to a memento.
 ISourceRange getNameRange()
          Returns the name range associated with this element.
 java.lang.String getNameWithoutStar()
           
 IJavaElement getPrimaryElement(boolean checkOwner)
           
 boolean isOnDemand()
          Returns true if the import is on-demand (ends with ".*")
 java.lang.String readableName()
           
protected  void toStringInfo(int tab, java.lang.StringBuffer buffer, java.lang.Object info, boolean showResolvedInfo)
          Debugging purposes
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
closing, copy, createElementInfo, delete, findNode, generateInfos, getAnnotation, getAnnotations, getCompilationUnit, getCorrespondingResource, getHandleFromMemento, getHandleUpdatingCountFromMemento, getOccurrenceCount, getOpenableParent, getPath, getSource, getSourceRange, getUnderlyingResource, hasChildren, isStructureKnown, move, rename, resource, toStringName
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaElement
close, escapeMementoName, exists, getAncestor, getAttachedJavadoc, getChildren, getChildrenOfType, getClassFile, getElementInfo, getElementInfo, getHandleFromMemento, getHandleIdentifier, getHandleMemento, getJavadocBaseLocation, getJavaModel, getJavaProject, getLibraryJavadocLocation, getOpenable, getParent, getPrimaryElement, getResource, getSchedulingRule, getSourceElementAt, getSourceMapper, getURLContents, hashCode, isAncestorOf, isReadOnly, newDoesNotExistStatus, newJavaModelException, newNotPresentException, openWhenClosed, resolved, tabString, toDebugString, toString, toString, toStringAncestors, toStringChildren, toStringInfo, toStringWithAncestors, toStringWithAncestors, unresolved
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.aspectj.org.eclipse.jdt.core.IJavaElement
exists, getAncestor, getAttachedJavadoc, getCorrespondingResource, getHandleIdentifier, getJavaModel, getJavaProject, getOpenable, getParent, getPath, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isReadOnly, isStructureKnown
 
Methods inherited from interface org.aspectj.org.eclipse.jdt.core.ISourceReference
exists, getSource, getSourceRange
 
Methods inherited from interface org.aspectj.org.eclipse.jdt.core.ISourceManipulation
copy, delete, move, rename
 

Field Detail

name

protected java.lang.String name

isOnDemand

protected boolean isOnDemand
Constructor Detail

ImportDeclaration

protected ImportDeclaration(ImportContainer parent,
                            java.lang.String name,
                            boolean isOnDemand)
Constructs an ImportDeclaration in the given import container with the given name.

Method Detail

equals

public boolean equals(java.lang.Object o)
Description copied from class: JavaElement
Returns true if this handle represents the same Java element as the given handle. By default, two handles represent the same element if they are identical or if they represent the same type of element, have equal names, parents, and occurrence counts.

If a subclass has other requirements for equality, this method must be overridden.

Overrides:
equals in class SourceRefElement
See Also:
Object.equals(java.lang.Object)

getElementName

public java.lang.String getElementName()
Description copied from interface: IJavaElement
Returns the name of this element. This is a handle-only method.

Specified by:
getElementName in interface IImportDeclaration
Specified by:
getElementName in interface IJavaElement
Overrides:
getElementName in class JavaElement
Returns:
the element name
See Also:
IAdaptable

getNameWithoutStar

public java.lang.String getNameWithoutStar()

getElementType

public int getElementType()
Description copied from interface: IJavaElement
Returns this element's kind encoded as an integer. This is a handle-only method.

Specified by:
getElementType in interface IJavaElement
Returns:
the kind of element; one of the constants declared in IJavaElement
See Also:
IJavaElement

getFlags

public int getFlags()
             throws JavaModelException
Description copied from interface: IImportDeclaration
Returns the modifier flags for this import. The flags can be examined using class Flags. Only the static flag is meaningful for import declarations.

Specified by:
getFlags in interface IImportDeclaration
Returns:
the modifier flags for this import
Throws:
JavaModelException - if this element does not exist or if an exception occurs while accessing its corresponding resource.
See Also:
IImportDeclaration.getFlags()

getHandleMemento

protected void getHandleMemento(java.lang.StringBuffer buff)
Overrides:
getHandleMemento in class SourceRefElement
See Also:
For import declarations, the handle delimiter is associated to the import container already

getHandleMementoDelimiter

protected char getHandleMementoDelimiter()
Description copied from class: JavaElement
Returns the char that marks the start of this handles contribution to a memento.

Specified by:
getHandleMementoDelimiter in class JavaElement
See Also:
JavaElement.getHandleMemento()

getNameRange

public ISourceRange getNameRange()
                          throws JavaModelException
Description copied from interface: ISourceReference
Returns the name range associated with this element.

If the element is an IMember, it returns the source range of this member's simple name, or null if this member does not have a name (for example, an initializer), or if this member does not have associated source code (for example, a binary type).

If this element is an IImportDeclaration, the source range of this import declaration's name, or null if this import declaration does not have associated source code (for example, a binary type).
The source range for the name includes the trailing '*' if the call to IImportDeclaration.isOnDemand() returns true.

If this element is an IPackageDeclaration, the source range of this package declaration's name, or null if this package declaration does not have associated source code (for example, a binary type).

If this element is an IAnnotation, the source range of this annotation's name, or null if this annotation does not have associated source code (for example, in a binary type).

If this element is an ITypeParameter, the source range of this type parameter's name, or null if this type parameter does not have associated source code (for example, in a binary type).

If this element is an ITypeRoot or IImportContainer, it returns null.

Specified by:
getNameRange in interface ISourceReference
Returns:
the name range associated with this element, or null if not available
Throws:
JavaModelException

getPrimaryElement

public IJavaElement getPrimaryElement(boolean checkOwner)
Overrides:
getPrimaryElement in class JavaElement

isOnDemand

public boolean isOnDemand()
Returns true if the import is on-demand (ends with ".*")

Specified by:
isOnDemand in interface IImportDeclaration
Returns:
true if the import is on-demand, false otherwise

readableName

public java.lang.String readableName()
Overrides:
readableName in class JavaElement

toStringInfo

protected void toStringInfo(int tab,
                            java.lang.StringBuffer buffer,
                            java.lang.Object info,
                            boolean showResolvedInfo)
Description copied from class: JavaElement
Debugging purposes

Overrides:
toStringInfo in class JavaElement
showResolvedInfo - TODO