|
org.eclipse.jdt.core
Interface IClassFile
-
All Superinterfaces:
-
IAdaptable,
ICodeAssist,
IJavaElement,
IOpenable,
IParent,
ISourceReference,
ITypeRoot
-
public interface IClassFile
- extends
ITypeRoot
Represents an entire binary type (single .class file).
A class file has a single child of type IType .
Class file elements need to be opened before they can be navigated.
If a class file cannot be parsed, its structure remains unknown. Use
IJavaElement.isStructureKnown to determine whether this is the
case.
Note: IClassFile extends ISourceReference .
Source can be obtained for a class file if and only if source has been attached to this
class file. The source associated with a class file is the source code of
the compilation unit it was (nominally) generated from.
-
See Also:
-
IPackageFragmentRoot.attachSource(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath, IProgressMonitor)
-
Restriction:
- This interface is not intended to be implemented by clients.
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
|
Methods inherited from interface org.eclipse.jdt.core.
IJavaElement
|
exists,
getAncestor,
getAttachedJavadoc,
getCorrespondingResource,
getElementName,
getElementType,
getHandleIdentifier,
getJavaModel,
getJavaProject,
getOpenable,
getParent,
getPath,
getPrimaryElement,
getResource,
getSchedulingRule,
getUnderlyingResource,
isReadOnly,
isStructureKnown
|
becomeWorkingCopy
ICompilationUnit becomeWorkingCopy(
IProblemRequestor problemRequestor,
WorkingCopyOwner owner,
IProgressMonitor monitor)
throws
JavaModelException
-
Deprecated. Use
ITypeRoot.getWorkingCopy(WorkingCopyOwner, IProgressMonitor) instead.
Note that if this deprecated method is used, problems will be reported to the given problem requestor
as well as the problem requestor returned by the working copy owner (if not null).
- Changes this class file handle into a working copy. A new
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
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.
-
-
-
Parameters:
-
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 owner -
monitor - a progress monitor used to report progress while opening this compilation unit
or null if no progress should be reported
-
Returns:
- a working copy for this class file
-
Throws:
-
JavaModelException
- if this compilation unit could not become a working copy. -
Since:
- 3.2
-
See Also:
-
ICompilationUnit.discardWorkingCopy()
getBytes
byte[] getBytes()
throws
JavaModelException
- Returns the bytes contained in this class file.
-
-
-
Returns:
- the bytes contained in this class file
-
Throws:
-
JavaModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource -
Since:
- 3.3
getType
IType getType()
- Returns the type contained in this class file.
This is a handle-only method. The type may or may not exist.
-
-
-
Returns:
- the type contained in this class file
getWorkingCopy
IJavaElement getWorkingCopy(
IProgressMonitor monitor,
IBufferFactory factory)
throws
JavaModelException
-
Deprecated. Use
ITypeRoot.getWorkingCopy(WorkingCopyOwner, IProgressMonitor) instead
- Returns a working copy on the source associated with this class file using the given
factory to create the buffer, or
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 .
-
-
-
Parameters:
-
monitor - a progress monitor used to report progress while opening this compilation unit
or null if no progress should be reported -
factory - 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
-
Returns:
- a a working copy on the source associated with this class file
-
Throws:
-
JavaModelException
- if the source of this class file can
not be determined. Reasons include:
- This class file does not exist (ELEMENT_DOES_NOT_EXIST)
-
Since:
- 2.0
isClass
boolean isClass()
throws
JavaModelException
- Returns whether this type represents a class. This is not guaranteed to be
instantaneous, as it may require parsing the underlying file.
-
-
-
Returns:
-
true if the class file represents a class.
-
Throws:
-
JavaModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource
isInterface
boolean isInterface()
throws
JavaModelException
- Returns whether this type represents an interface. This is not guaranteed to
be instantaneous, as it may require parsing the underlying file.
-
-
-
Returns:
-
true if the class file represents an interface.
-
Throws:
-
JavaModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|