|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.core.runtime.PlatformObject
org.eclipse.jdt.internal.core.JavaElement
org.eclipse.jdt.internal.core.Openable
org.eclipse.jdt.internal.core.ClassFile
public class ClassFile
IClassFile
Field Summary |
---|
Fields inherited from class 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 |
Fields inherited from interface 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 |
Fields inherited from interface org.eclipse.jdt.internal.compiler.util.SuffixConstants |
---|
EXTENSION_class, EXTENSION_CLASS, EXTENSION_java, EXTENSION_JAVA, SUFFIX_class, SUFFIX_CLASS, SUFFIX_java, SUFFIX_JAVA, SUFFIX_STRING_class, SUFFIX_STRING_CLASS, SUFFIX_STRING_java, SUFFIX_STRING_JAVA |
Method Summary | |
---|---|
ICompilationUnit |
becomeWorkingCopy(IProblemRequestor problemRequestor,
WorkingCopyOwner owner,
org.eclipse.core.runtime.IProgressMonitor monitor)
Changes this class file handle into a working copy. |
void |
codeComplete(int offset,
CompletionRequestor requestor)
Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. |
void |
codeComplete(int offset,
CompletionRequestor requestor,
WorkingCopyOwner owner)
Performs code completion at the given offset position in this compilation unit, reporting results to the given completion requestor. |
void |
codeComplete(int offset,
ICodeCompletionRequestor requestor)
Deprecated. - should use codeComplete(int, ICompletionRequestor) instead |
void |
codeComplete(int offset,
ICompletionRequestor requestor)
Deprecated. |
void |
codeComplete(int offset,
ICompletionRequestor requestor,
WorkingCopyOwner owner)
Deprecated. |
IJavaElement[] |
codeSelect(int offset,
int length)
Returns the Java elements corresponding to the given selected text in this compilation unit. |
IJavaElement[] |
codeSelect(int offset,
int length,
WorkingCopyOwner owner)
Returns the Java elements corresponding to the given selected text in this compilation unit. |
boolean |
equals(java.lang.Object o)
Returns true if this handle represents the same Java element as the given handle. |
boolean |
existsUsingJarTypeCache()
|
IType |
findPrimaryType()
Finds the primary type of this Java type root (that is, the type with the same name as the compilation unit, or the type of a class file), or null if no such a type exists. |
java.lang.String |
getAttachedJavadoc(org.eclipse.core.runtime.IProgressMonitor monitor)
Returns the Javadoc as an html source if this element has an attached javadoc, null otherwise. |
IBinaryType |
getBinaryTypeInfo(IFile file)
Returns the ClassFileReader specific for this IClassFile, based
on its underlying resource, or null if unable to create
the diet class file. |
IBinaryType |
getBinaryTypeInfo(IFile file,
boolean fullyInitialize)
|
IBuffer |
getBuffer()
Note: a buffer with no unsaved changes can be closed by the Java Model since it has a finite number of buffers allowed open at one time. |
byte[] |
getBytes()
Returns the bytes contained in this class file. |
IClassFile |
getClassFile()
|
IResource |
getCorrespondingResource()
A class file has a corresponding resource unless it is contained in a jar. |
IJavaElement |
getElementAt(int position)
Returns the smallest element within this Java type root that includes the given source position (that is, a method, field, etc.), or null if there is no element other than the Java type root
itself at the given position, or if the given position is not
within the source range of the source of this Java type root. |
IJavaElement |
getElementAtConsideringSibling(int position)
|
java.lang.String |
getElementName()
Returns the name of this element. |
int |
getElementType()
Returns this element's kind encoded as an integer. |
IJavaElement |
getHandleFromMemento(java.lang.String token,
MementoTokenizer memento,
WorkingCopyOwner owner)
|
org.eclipse.core.runtime.IPath |
getPath()
Returns the path to the innermost resource enclosing this element. |
java.lang.String |
getSource()
Returns the source code associated with this element. |
ISourceRange |
getSourceRange()
Returns the source range associated with this element. |
java.lang.String |
getTopLevelTypeName()
|
IType |
getType()
Returns the type contained in this class file. |
java.lang.String |
getTypeName()
|
ITypeRoot |
getTypeRoot()
|
IJavaElement |
getWorkingCopy(org.eclipse.core.runtime.IProgressMonitor monitor,
IBufferFactory factory)
Deprecated. |
ICompilationUnit |
getWorkingCopy(WorkingCopyOwner owner,
org.eclipse.core.runtime.IProgressMonitor monitor)
Returns a shared working copy on this compilation unit or class file using the given working copy owner to create the buffer. |
int |
hashCode()
Returns the hash code for this Java element. |
boolean |
isClass()
Returns whether this type represents a class. |
boolean |
isInterface()
Returns whether this type represents an interface. |
boolean |
isReadOnly()
Returns true - class files are always read only. |
IResource |
resource(PackageFragmentRoot root)
|
static char[] |
translatedName(char[] name)
Returns the Java Model representation of the given name which is provided in diet class file format, or null
if the given name is null . |
Methods inherited from class org.eclipse.jdt.internal.core.Openable |
---|
bufferChanged, canBeRemovedFromCache, canBufferBeRemovedFromCache, exists, findRecommendedLineSeparator, getBufferFactory, getOpenable, getPackageFragmentRoot, getResource, getUnderlyingResource, hasUnsavedChanges, isConsistent, isOpen, isStructureKnown, makeConsistent, open, resource, save |
Methods inherited from class org.eclipse.jdt.internal.core.JavaElement |
---|
close, findNode, getAncestor, getChildren, getChildrenOfType, getCompilationUnit, getElementInfo, getElementInfo, getHandleFromMemento, getHandleIdentifier, getHandleMemento, getJavaModel, getJavaProject, getOpenableParent, getParent, getPrimaryElement, getPrimaryElement, getSchedulingRule, getSourceMapper, hasChildren, isAncestorOf, newJavaModelException, newNotPresentException, readableName, resolved, toDebugString, toString, toStringInfo, toStringWithAncestors, toStringWithAncestors, unresolved |
Methods inherited from class org.eclipse.core.runtime.PlatformObject |
---|
getAdapter |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.jdt.core.IJavaElement |
---|
exists, getAncestor, getHandleIdentifier, getJavaModel, getJavaProject, getOpenable, getParent, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isStructureKnown |
Methods inherited from interface org.eclipse.core.runtime.IAdaptable |
---|
getAdapter |
Methods inherited from interface org.eclipse.jdt.core.IParent |
---|
getChildren, hasChildren |
Methods inherited from interface org.eclipse.jdt.core.IOpenable |
---|
close, findRecommendedLineSeparator, hasUnsavedChanges, isConsistent, isOpen, makeConsistent, open, save |
Methods inherited from interface org.eclipse.jdt.core.ISourceReference |
---|
exists |
Method Detail |
---|
public ICompilationUnit becomeWorkingCopy(IProblemRequestor problemRequestor, WorkingCopyOwner owner, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
IClassFile
IBuffer
is
created using the given owner. Uses the primary owner if null
is
specified.
When switching to working copy mode, problems are reported to the given
IProblemRequestor
. Note that once in working copy mode, the given
IProblemRequestor
is ignored. Only the original IProblemRequestor
is used to report subsequent problems.
Once in working copy mode, changes to this working copy or its children are done in memory. Only the new buffer is affected.
Using ICompilationUnit.commitWorkingCopy(boolean, IProgressMonitor)
on the working copy
will throw a JavaModelException
as a class file is implicetly read-only.
If this class file was already in working copy mode, an internal counter is incremented and no
other action is taken on this working copy. To bring this working copy back into the original mode
(where it reflects the underlying resource), ICompilationUnit.discardWorkingCopy()
must be call as many
times as IClassFile.becomeWorkingCopy(IProblemRequestor, WorkingCopyOwner, IProgressMonitor)
.
The primary compilation unit of a class file's working copy does not exist if the class file is not
in working copy mode (classFileWorkingCopy.getPrimary().exists() == false
).
The resource of a class file's working copy is null
if the class file is in an external jar file.
becomeWorkingCopy
in interface IClassFile
problemRequestor
- a requestor which will get notified of problems detected during
reconciling as they are discovered. The requestor can be set to null
indicating
that the client is not interested in problems.owner
- the given WorkingCopyOwner
, or null
for the primary ownermonitor
- a progress monitor used to report progress while opening this compilation unit
or null
if no progress should be reported
JavaModelException
- if this compilation unit could not become a working copy.ICompilationUnit.discardWorkingCopy()
public void codeComplete(int offset, ICompletionRequestor requestor) throws JavaModelException
ICodeAssist
offset
is the 0-based index of the character, after which code assist is desired.
An offset
of -1 indicates to code assist at the beginning of this
compilation unit.
codeComplete
in interface ICodeAssist
offset
- the given offset positionrequestor
- the given completion requestor
JavaModelException
- if code assist could not be performed. Reasons include:ICodeAssist.codeComplete(int, ICompletionRequestor)
public void codeComplete(int offset, ICompletionRequestor requestor, WorkingCopyOwner owner) throws JavaModelException
ICodeAssist
offset
is the 0-based index of the character, after which code assist is desired.
An offset
of -1 indicates to code assist at the beginning of this
compilation unit.
It considers types in the working copies with the given owner first. In other words,
the owner's working copies will take precedence over their original compilation units
in the workspace.
Note that if a working copy is empty, it will be as if the original compilation unit had been deleted.
codeComplete
in interface ICodeAssist
offset
- the given offset positionrequestor
- the given completion requestorowner
- the owner of working copies that take precedence over their original compilation units
JavaModelException
- if code assist could not be performed. Reasons include:ICodeAssist.codeComplete(int, ICompletionRequestor, WorkingCopyOwner)
public void codeComplete(int offset, CompletionRequestor requestor) throws JavaModelException
ICodeAssist
offset
is the 0-based index of the character, after which code assist is desired.
An offset
of -1 indicates to code assist at the beginning of this
compilation unit.
codeComplete
in interface ICodeAssist
offset
- the given offset positionrequestor
- the given completion requestor
JavaModelException
- if code assist could not be performed. Reasons include:public void codeComplete(int offset, CompletionRequestor requestor, WorkingCopyOwner owner) throws JavaModelException
ICodeAssist
offset
is the 0-based index of the character, after which code assist is desired.
An offset
of -1 indicates to code assist at the beginning of this
compilation unit.
It considers types in the working copies with the given owner first. In other words,
the owner's working copies will take precedence over their original compilation units
in the workspace.
Note that if a working copy is empty, it will be as if the original compilation unit had been deleted.
codeComplete
in interface ICodeAssist
offset
- the given offset positionrequestor
- the given completion requestorowner
- the owner of working copies that take precedence over their original compilation units
JavaModelException
- if code assist could not be performed. Reasons include:public IJavaElement[] codeSelect(int offset, int length) throws JavaModelException
ICodeAssist
offset
is the 0-based index of the first selected character.
The length
is the number of selected characters.
Note that if the length
is 0 and the offset
is inside an identifier
or the index just after an identifier then this identifier is considered as the selection.
codeSelect
in interface ICodeAssist
offset
- the given offset positionlength
- the number of selected characters
JavaModelException
- if code resolve could not be performed. Reasons include:
ICodeAssist.codeSelect(int, int)
public IJavaElement[] codeSelect(int offset, int length, WorkingCopyOwner owner) throws JavaModelException
ICodeAssist
offset
is the 0-based index of the first selected character.
The length
is the number of selected characters.
It considers types in the working copies with the given owner first. In other words,
the owner's working copies will take precedence over their original compilation units
in the workspace.
Note that if the length
is 0 and the offset
is inside an identifier
or the index just after an identifier then this identifier is considered as the selection.
Note that if a working copy is empty, it will be as if the original compilation unit had been deleted.
codeSelect
in interface ICodeAssist
offset
- the given offset positionlength
- the number of selected charactersowner
- the owner of working copies that take precedence over their original compilation units
JavaModelException
- if code resolve could not be performed. Reasons include:
ICodeAssist.codeSelect(int, int, WorkingCopyOwner)
public boolean equals(java.lang.Object o)
JavaElement
If a subclass has other requirements for equality, this method must be overridden.
equals
in class JavaElement
Object.equals(java.lang.Object)
public boolean existsUsingJarTypeCache()
public IType findPrimaryType()
ITypeRoot
null
if no such a type exists.
findPrimaryType
in interface ITypeRoot
null
if no such a type existsITypeRoot.findPrimaryType()
public java.lang.String getAttachedJavadoc(org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
IJavaElement
Returns the Javadoc as an html source if this element has an 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 of 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.
getAttachedJavadoc
in interface IJavaElement
getAttachedJavadoc
in class JavaElement
monitor
- the given progress monitor
JavaModelException
- if:IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME
public IBinaryType getBinaryTypeInfo(IFile file) throws JavaModelException
ClassFileReader
specific for this IClassFile, based
on its underlying resource, or null
if unable to create
the diet class file.
There are two cases to consider:
JavaModelException
- when the IFile resource or JAR is not available
or when this class file is not present in the JARpublic IBinaryType getBinaryTypeInfo(IFile file, boolean fullyInitialize) throws JavaModelException
JavaModelException
public byte[] getBytes() throws JavaModelException
IClassFile
getBytes
in interface IClassFile
JavaModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcepublic IBuffer getBuffer() throws JavaModelException
Openable
getBuffer
in interface IOpenable
getBuffer
in class Openable
null
if this element does not have a buffer
JavaModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource.IOpenable
public IClassFile getClassFile()
getClassFile
in class JavaElement
IMember
public ITypeRoot getTypeRoot()
IMember.getTypeRoot()
public IResource getCorrespondingResource() throws JavaModelException
getCorrespondingResource
in interface IJavaElement
getCorrespondingResource
in class Openable
null
if none
JavaModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIJavaElement
public IJavaElement getElementAt(int position) throws JavaModelException
ITypeRoot
null
if there is no element other than the Java type root
itself at the given position, or if the given position is not
within the source range of the source of this Java type root.
getElementAt
in interface ITypeRoot
position
- a source position inside the Java type root
null
if none (excluding the Java type root).
JavaModelException
- if the Java type root does not exist or if an
exception occurs while accessing its corresponding resourceIClassFile
public IJavaElement getElementAtConsideringSibling(int position) throws JavaModelException
JavaModelException
public java.lang.String getElementName()
IJavaElement
getElementName
in interface IJavaElement
getElementName
in class JavaElement
IAdaptable
public int getElementType()
IJavaElement
getElementType
in interface IJavaElement
IJavaElement
IJavaElement
public IJavaElement getHandleFromMemento(java.lang.String token, MementoTokenizer memento, WorkingCopyOwner owner)
getHandleFromMemento
in class JavaElement
public org.eclipse.core.runtime.IPath getPath()
IJavaElement
getPath
in interface IJavaElement
public IResource resource(PackageFragmentRoot root)
public java.lang.String getSource() throws JavaModelException
ISourceReference
getSourceRange
.
For class files, this returns the source of the entire compilation unit associated with the class file (if there is one).
getSource
in interface ISourceReference
null
if this element has no
associated source code
JavaModelException
- if an exception occurs while accessing its corresponding resourceISourceReference
public ISourceRange getSourceRange() throws JavaModelException
ISourceReference
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 null
is either returned,
or a source range with a -1 offset and a 0 length.
getSourceRange
in interface ISourceReference
null
or [-1, 0] if this element has no
associated source code
JavaModelException
- if an exception occurs while accessing its corresponding resourceISourceReference
public java.lang.String getTopLevelTypeName()
public IType getType()
IClassFile
getType
in interface IClassFile
IClassFile
public java.lang.String getTypeName()
public ICompilationUnit getWorkingCopy(WorkingCopyOwner owner, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException
ITypeRoot
Object.equals(java.lang.Object)
).
The life time of a shared working copy is as follows:
ITypeRoot.getWorkingCopy(WorkingCopyOwner, IProgressMonitor)
creates a new working copy for this elementICompilationUnit.discardWorkingCopy()
decrements the internal counter.Note that the working copy owner will be used for the life time of the shared working copy, that is if the working copy is closed then reopened, this owner will be used. The buffer will be automatically initialized with the original's Java type root content upon creation.
When the shared working copy instance is created, an ADDED IJavaElementDelta is reported on this working copy.
A working copy can be created on a not-yet existing compilation unit. In particular, such a working copy can then be committed in order to create the corresponding compilation unit.
Note that possible problems of this working copy are reported using this method only
if the given working copy owner returns a problem requestor for this working copy
(see WorkingCopyOwner.getProblemRequestor(ICompilationUnit)
).
getWorkingCopy
in interface ITypeRoot
owner
- the working copy owner that creates a buffer that is used to get the content
of the working copymonitor
- a progress monitor used to report progress while opening this compilation unit
or null
if no progress should be reported
JavaModelException
- if the contents of this element can
not be determined.public IJavaElement getWorkingCopy(org.eclipse.core.runtime.IProgressMonitor monitor, IBufferFactory factory) throws JavaModelException
IClassFile
null
if there is no source associated
with the class file.
The buffer will be automatically initialized with the source of the class file upon creation.
The only valid operations on this working copy are getBuffer()
or getOriginalElement
.
getWorkingCopy
in interface IClassFile
monitor
- a progress monitor used to report progress while opening this compilation unit
or null
if no progress should be reportedfactory
- the factory that creates a buffer that is used to get the content of the working copy
or null
if the internal factory should be used
JavaModelException
- if the source of this class file can
not be determined. Reasons include:
IClassFile
public int hashCode()
JavaElement
hashCode
in class JavaElement
public boolean isClass() throws JavaModelException
IClassFile
isClass
in interface IClassFile
true
if the class file represents a class.
JavaModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIClassFile
public boolean isInterface() throws JavaModelException
IClassFile
isInterface
in interface IClassFile
true
if the class file represents an interface.
JavaModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIClassFile
public boolean isReadOnly()
isReadOnly
in interface IJavaElement
isReadOnly
in class JavaElement
true
if this element is read-onlyIJavaElement
public static char[] translatedName(char[] name)
null
if the given name is null
.
ClassFileReader
format is similar to "java/lang/Object",
and corresponding Java Model format is "java.lang.Object".
public void codeComplete(int offset, ICodeCompletionRequestor requestor) throws JavaModelException
ICodeAssist
offset
is the 0-based index of the character, after which code assist is desired.
An offset
of -1 indicates to code assist at the beginning of this
compilation unit.
codeComplete
in interface ICodeAssist
offset
- the given offset positionrequestor
- the given completion requestor
JavaModelException
- if code assist could not be performed. Reasons include:ICodeAssist.codeComplete(int, ICodeCompletionRequestor)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |