Class BinaryModule

All Implemented Interfaces:
IAnnotatable, IJavaElement, IMember, IModuleDescription, IParent, ISourceManipulation, ISourceReference, AbstractModule, org.eclipse.core.runtime.IAdaptable

public class BinaryModule extends BinaryMember implements AbstractModule
  • Constructor Details

    • BinaryModule

      public BinaryModule(JavaElement parent, String name)
      For creating a pure handle from its memento.
    • BinaryModule

      public BinaryModule(JavaElement parent, IBinaryModule info)
      For creating a populated handle from a class file.
  • Method Details

    • getModuleInfo

      public IModule getModuleInfo() throws JavaModelException
      Specified by:
      getModuleInfo in interface AbstractModule
      Throws:
      JavaModelException
    • getAnnotations

      public IAnnotation[] getAnnotations() throws JavaModelException
      Description copied from interface: IAnnotatable
      Returns the annotations for this element. Returns an empty array if this element has no annotations.
      Specified by:
      getAnnotations in interface IAnnotatable
      Overrides:
      getAnnotations in class SourceRefElement
      Returns:
      the annotations of this element, in the order declared in the source, or an empty array if none
      Throws:
      JavaModelException - if this element does not exist or if an exception occurs while accessing its corresponding resource.
    • getChildren

      public IJavaElement[] getChildren() throws JavaModelException
      Description copied from interface: IParent
      Returns the immediate children of this element. Unless otherwise specified by the implementing element, the children are in no particular order.
      Specified by:
      getChildren in interface IParent
      Overrides:
      getChildren in class JavaElement
      Returns:
      the immediate children of this element
      Throws:
      JavaModelException - if this element does not exist or if an exception occurs while accessing its corresponding resource
      See Also:
      IParent
    • isBinary

      public boolean isBinary()
      Description copied from interface: IMember
      Returns whether this member is from a class file. This is a handle-only method.
      Specified by:
      isBinary in interface IMember
      Overrides:
      isBinary in class BinaryMember
      Returns:
      true if from a class file, and false if from a compilation unit
      See Also:
      IMember
    • isSystemModule

      public boolean isSystemModule()
      Specified by:
      isSystemModule in interface IModuleDescription
      Returns:
      true if this module is a system module, else false
    • getFlags

      public int getFlags() throws JavaModelException
      Description copied from interface: IMember
      Returns the modifier flags for this member. The flags can be examined using class Flags.

      For binary members, flags from the class file as well as derived flags Flags.AccAnnotationDefault and Flags.AccDefaultMethod are included.

      For source members, only flags as indicated in the source are returned. Thus if an interface defines a method void myMethod();, the flags don't include the 'public' flag. Source flags include Flags.AccAnnotationDefault as well.

      Specified by:
      getFlags in interface IMember
      Overrides:
      getFlags in class Member
      Returns:
      the modifier flags for this member
      Throws:
      JavaModelException - if this element does not exist or if an exception occurs while accessing its corresponding resource.
      See Also:
      IMember
    • getHandleMementoDelimiter

      public char getHandleMementoDelimiter()
      Description copied from class: JavaElement
      Returns the char that marks the start of this handles contribution to a memento.
      Overrides:
      getHandleMementoDelimiter in class Member
      See Also:
      JavaElement.getHandleMemento()
    • getKey

      public String getKey(boolean forceOpen) throws JavaModelException
      Specified by:
      getKey in class BinaryMember
      Throws:
      JavaModelException
      See Also:
      Binding.computeUniqueKey()
    • getSourceRange

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

      For class files, this returns the range of the entire compilation unit associated with the class file (if there is one).

      If this element has no associated source code, either null is returned, or a source range with a -1 offset and a 0 length. SourceRange.isAvailable(ISourceRange) can be used to detect that case.

      Specified by:
      getSourceRange in interface ISourceReference
      Overrides:
      getSourceRange in class BinaryMember
      Returns:
      the source range, or either null or [-1, 0] if this element has no associated source code
      Throws:
      JavaModelException - if an exception occurs while accessing its corresponding resource
      See Also:
      ISourceReference
    • getAttachedJavadoc

      public String getAttachedJavadoc(org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
      Description copied from interface: IJavaElement

      Returns the Javadoc as HTML source if this element has attached Javadoc, null otherwise.

      This should be used only for binary elements. Source elements will always return null.

      The encoding used to read the Javadoc is the one defined by the content type of the file. If none is defined, then the project's encoding of this Java element is used. If the project's encoding cannot be retrieved, then the platform encoding is used.

      In case the Javadoc doesn't exist for this element, null is returned.

      The HTML is extracted from the attached Javadoc and provided as is. No transformation or validation is done.

      Specified by:
      getAttachedJavadoc in interface IJavaElement
      Overrides:
      getAttachedJavadoc in class JavaElement
      Parameters:
      monitor - the given progress monitor, can be null
      Returns:
      the extracted javadoc from the attached javadoc, null if none
      Throws:
      JavaModelException - if:
      • this element does not exist
      • retrieving the attached javadoc fails (timed-out, invalid URL, ...)
      • the format of the javadoc doesn't match expected standards (different anchors,...)
      See Also:
      IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME
    • getJavadocContents

      public JavadocContents getJavadocContents(org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
      Throws:
      JavaModelException
    • toString

      public String toString(String lineDelimiter)
      Specified by:
      toString in interface AbstractModule