public interface ITypeRoot extends IJavaElement, IParent, IOpenable, ISourceReference, ICodeAssist
ICompilationUnit
or an IClassFile
).Note that methods {@link #findPrimaryType()} and {@link #getElementAt(int)}
were already implemented in this interface respectively since version 3.0 and version 1.0.
,
Note that method {@link #getWorkingCopy(WorkingCopyOwner, IProgressMonitor)}
was already implemented in this interface since version 3.0.
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
Modifier and Type | Method and Description |
---|---|
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. |
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. |
ICompilationUnit |
getWorkingCopy(WorkingCopyOwner owner,
IProgressMonitor monitor)
Returns a shared working copy on this compilation unit or class file using the given working copy owner to create
the buffer.
|
exists, getAncestor, getAttachedJavadoc, getCorrespondingResource, getElementName, getElementType, getHandleIdentifier, getJavaModel, getJavaProject, getOpenable, getParent, getPath, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isReadOnly, isStructureKnown
getAdapter
getChildren, hasChildren
close, findRecommendedLineSeparator, getBuffer, hasUnsavedChanges, isConsistent, isOpen, makeConsistent, open, save
exists, getNameRange, getSource, getSourceRange
codeComplete, codeComplete, codeComplete, codeComplete, codeComplete, codeComplete, codeComplete, codeSelect, codeSelect
IType findPrimaryType()
null
if no such a type exists.null
if no such a type existsIJavaElement getElementAt(int position) throws JavaModelException
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.position
- a source position inside the Java type rootnull
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 resourceICompilationUnit getWorkingCopy(WorkingCopyOwner owner, IProgressMonitor monitor) throws JavaModelException
Object.equals(java.lang.Object)
).
The life time of a shared working copy is as follows:
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)
).
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 reportedJavaModelException
- if the contents of this element can
not be determined.
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.