public interface ISourceReference
IClassFile
, ICompilationUnit
,
IPackageDeclaration
, IImportDeclaration
,
IImportContainer
, IType
, IField
,
IMethod
, IInitializer
, ITypeParameter
,
ILocalVariable
, and IAnnotation
.
Note: For IClassFile
, IType
and other members
derived from a binary type, the implementation returns source iff the
element has attached source code.
Source reference elements may be working copies if they were created from a compilation unit that is a working copy.
IPackageFragmentRoot.attachSource(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IProgressMonitor)
Modifier and Type | Method and Description |
---|---|
boolean |
exists()
Returns whether this element exists in the model.
|
ISourceRange |
getNameRange()
Returns the name range associated with this element.
|
String |
getSource()
Returns the source code associated with this element.
|
ISourceRange |
getSourceRange()
Returns the source range associated with this element.
|
boolean exists()
true
if this element exists in the Java modelString getSource() throws JavaModelException
getSourceRange
.
For class files, this returns the source of the entire compilation unit associated with the class file (if there is one).
null
if this element has no
associated source codeJavaModelException
- if an exception occurs while accessing its corresponding resourceISourceRange getSourceRange() throws JavaModelException
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.
null
or [-1, 0] if this element has no
associated source codeJavaModelException
- if an exception occurs while accessing its corresponding resourceSourceRange.isAvailable(ISourceRange)
ISourceRange getNameRange() throws JavaModelException
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.
null
if
not availableJavaModelException
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.