Class ImportDeclaration

java.lang.Object
org.eclipse.core.runtime.PlatformObject
All Implemented Interfaces:
IImportDeclaration, IJavaElement, ISourceManipulation, ISourceReference, org.eclipse.core.runtime.IAdaptable
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 Details

    • name

      protected String name
    • isOnDemand

      protected boolean isOnDemand
  • Constructor Details

    • ImportDeclaration

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

    • equals

      public boolean equals(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 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 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(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 String readableName()
      Overrides:
      readableName in class JavaElement
    • toStringInfo

      protected void toStringInfo(int tab, StringBuffer buffer, Object info, boolean showResolvedInfo)
      Description copied from class: JavaElement
      Debugging purposes
      Overrides:
      toStringInfo in class JavaElement
      showResolvedInfo - TODO