Klasse Openable
- Alle implementierten Schnittstellen:
IBufferChangedListener,IJavaElement,IOpenable,org.eclipse.core.runtime.IAdaptable
- Bekannte direkte Unterklassen:
AbstractClassFile,CompilationUnit,JavaModel,JavaProject,PackageFragment,PackageFragmentRoot
- Siehe auch:
-
Feldübersicht
Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.internal.core.JavaElement
JEM_ANNOTATION, JEM_CLASSFILE, JEM_COMPILATIONUNIT, JEM_COUNT, JEM_DELIMITER_ESCAPE, JEM_ESCAPE, JEM_FIELD, JEM_IMPORTDECLARATION, JEM_INITIALIZER, JEM_JAVAPROJECT, JEM_LAMBDA_EXPRESSION, JEM_LAMBDA_METHOD, JEM_LOCALVARIABLE, JEM_METHOD, JEM_MODULAR_CLASSFILE, JEM_MODULE, JEM_PACKAGEDECLARATION, JEM_PACKAGEFRAGMENT, JEM_PACKAGEFRAGMENTROOT, JEM_STRING, JEM_TYPE, JEM_TYPE_PARAMETER, NO_ELEMENTS, NO_INFO, NO_STRINGSVon Schnittstelle geerbte Felder org.aspectj.org.eclipse.jdt.core.IJavaElement
ANNOTATION, CLASS_FILE, COMPILATION_UNIT, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVA_MODEL, JAVA_MODULE, JAVA_PROJECT, LOCAL_VARIABLE, METHOD, PACKAGE_DECLARATION, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE, TYPE_PARAMETER -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoidbufferChanged(BufferChangedEvent event) The buffer associated with this element has changed.protected abstract booleanbuildStructure(OpenableElementInfo info, org.eclipse.core.runtime.IProgressMonitor pm, Map newElements, org.eclipse.core.resources.IResource underlyingResource) Builds this element's structure and properties in the given info object, based on this element's current contents (reuse buffer contents if this element has an open buffer, or resource contents if this element does not have an open buffer).booleanbooleancanBufferBeRemovedFromCache(IBuffer buffer) protected voidClose the buffer associated with this element, if any.protected voidThis element is being closed.protected voidcodeComplete(ICompilationUnit cu, ICompilationUnit unitToSkip, int position, CompletionRequestor requestor, WorkingCopyOwner owner, ITypeRoot typeRoot, org.eclipse.core.runtime.IProgressMonitor monitor) protected IJavaElement[]codeSelect(ICompilationUnit cu, int offset, int length, WorkingCopyOwner owner) protected Objectbooleanexists()Returns whether this Java element exists in the model.Finds and returns the recommended line separator for this element.protected voidgenerateInfos(Object info, HashMap newElements, org.eclipse.core.runtime.IProgressMonitor monitor) Generates the element infos for this element, its ancestors (if they are not opened) and its children (if it is an Openable).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.Veraltet.protected BufferManagerReturns the buffer manager for this element.org.eclipse.core.resources.IResourceReturn my underlying resource.Returns the first openable parent.Find enclosing package fragment root if anyorg.eclipse.core.resources.IResourceReturns the innermost resource enclosing this element.org.eclipse.core.resources.IResourceReturns the smallest underlying resource that contains this element, ornullif this element is not contained in a resource.protected booleanReturns true if this element may have an associated source buffer, otherwise false.booleanReturnstrueif this element is open and: its buffer has unsaved changes, or one of its descendants has unsaved changes, or a working copy has been created on one of this element's children and has not yet destroyedprotected booleanignoreErrorStatus(org.eclipse.core.runtime.IStatus status) booleanSubclasses must override as required.booleanisOpen()Returns whether this openable is open.protected booleanReturns true if this represents a source element.booleanReturns whether the structure of this element is known.voidmakeConsistent(org.eclipse.core.runtime.IProgressMonitor monitor) Makes this element consistent with its underlying resource or buffer by updating the element's structure and properties as necessary.voidopen(org.eclipse.core.runtime.IProgressMonitor pm) Opens this element and all parent elements that are not already open.protected voidopenAncestors(HashMap newElements, org.eclipse.core.runtime.IProgressMonitor monitor) protected IBufferopenBuffer(org.eclipse.core.runtime.IProgressMonitor pm, Object info) Opens a buffer on the contents of this element, and returns the buffer, or returnsnullif opening fails.org.eclipse.core.resources.IResourceresource()protected abstract org.eclipse.core.resources.IResourceresource(PackageFragmentRoot root) protected booleanresourceExists(org.eclipse.core.resources.IResource underlyingResource) Returns whether the corresponding resource or associated file existsvoidsave(org.eclipse.core.runtime.IProgressMonitor pm, boolean force) Saves any changes in this element's buffer to its underlying resource via a workspace resource operation.protected abstract org.eclipse.core.runtime.IStatusvalidateExistence(org.eclipse.core.resources.IResource underlyingResource) Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.internal.core.JavaElement
appendEscapedDelimiter, close, equals, escapeMementoName, findNode, getAncestor, getAttachedJavadoc, getChildren, getChildrenOfType, getClassFile, getCompilationUnit, getElementInfo, getElementInfo, getElementName, getHandleFromMemento, getHandleFromMemento, getHandleIdentifier, getHandleMemento, getHandleMemento, getHandleMementoDelimiter, getJavadocBaseLocation, getJavaModel, getJavaProject, getLibraryJavadocLocation, getOpenableParent, getParent, getPrimaryElement, getPrimaryElement, getSchedulingRule, getSourceElementAt, getSourceMapper, getURLContents, hasChildren, hashCode, isAncestorOf, isReadOnly, newDoesNotExistStatus, newJavaModelException, newNotPresentException, openWhenClosed, readableName, resolved, setParent, tabString, toDebugString, toString, toString, toStringAncestors, toStringChildren, toStringInfo, toStringInfo, toStringName, toStringWithAncestors, toStringWithAncestors, unresolved, validateAndCacheVon Klasse geerbte Methoden org.eclipse.core.runtime.PlatformObject
getAdapterVon Klasse geerbte Methoden java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitVon Schnittstelle geerbte Methoden org.eclipse.core.runtime.IAdaptable
getAdapterVon Schnittstelle geerbte Methoden org.aspectj.org.eclipse.jdt.core.IJavaElement
getElementType, getPath
-
Konstruktordetails
-
Openable
-
-
Methodendetails
-
bufferChanged
The buffer associated with this element has changed. Registers this element as being out of synch with its buffer's contents. If the buffer has been closed, this element is set as NOT out of synch with the contents.- Angegeben von:
bufferChangedin SchnittstelleIBufferChangedListener- Parameter:
event- the change event- Siehe auch:
-
buildStructure
protected abstract boolean buildStructure(OpenableElementInfo info, org.eclipse.core.runtime.IProgressMonitor pm, Map newElements, org.eclipse.core.resources.IResource underlyingResource) throws JavaModelException Builds this element's structure and properties in the given info object, based on this element's current contents (reuse buffer contents if this element has an open buffer, or resource contents if this element does not have an open buffer). Children are placed in the given newElements table (note, this element has already been placed in the newElements table). Returns true if successful, or false if an error is encountered while determining the structure of this element.- Löst aus:
JavaModelException
-
canBeRemovedFromCache
public boolean canBeRemovedFromCache() -
canBufferBeRemovedFromCache
-
closeBuffer
protected void closeBuffer()Close the buffer associated with this element, if any. -
closing
This element is being closed. Do any necessary cleanup.- Angegeben von:
closingin KlasseJavaElement
-
codeComplete
protected void codeComplete(ICompilationUnit cu, ICompilationUnit unitToSkip, int position, CompletionRequestor requestor, WorkingCopyOwner owner, ITypeRoot typeRoot, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException - Löst aus:
JavaModelException
-
codeSelect
protected IJavaElement[] codeSelect(ICompilationUnit cu, int offset, int length, WorkingCopyOwner owner) throws JavaModelException - Löst aus:
JavaModelException
-
createElementInfo
- Angegeben von:
createElementInfoin KlasseJavaElement
-
exists
public boolean exists()Beschreibung aus Schnittstelle kopiert:IJavaElementReturns whether this Java element exists in the model.Java elements are handle objects that may or may not be backed by an actual element. Java elements that are backed by an actual element are said to "exist", and this method returns
true. For Java elements that are not working copies, it is always the case that if the element exists, then its parent also exists (provided it has one) and includes the element as one of its children. It is therefore possible to navigated to any existing Java element from the root of the Java model along a chain of existing Java elements. On the other hand, working copies are said to exist until they are destroyed (withIWorkingCopy.destroy). Unlike regular Java elements, a working copy never shows up among the children of its parent element (which may or may not exist).- Angegeben von:
existsin SchnittstelleIJavaElement- Setzt außer Kraft:
existsin KlasseJavaElement- Gibt zurück:
trueif this element exists in the Java model, andfalseif this element does not exist- Siehe auch:
-
findRecommendedLineSeparator
Beschreibung aus Schnittstelle kopiert:IOpenableFinds and returns the recommended line separator for this element. The element's buffer is first searched and the first line separator in this buffer is returned if any. Otherwise the preferencePlatform.PREF_LINE_SEPARATORon this element's project or workspace is returned. Finally if no such preference is set, the system line separator is returned.- Angegeben von:
findRecommendedLineSeparatorin SchnittstelleIOpenable- Gibt zurück:
- the recommended line separator for this element
- Löst aus:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
generateInfos
protected void generateInfos(Object info, HashMap newElements, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException Beschreibung aus Klasse kopiert:JavaElementGenerates the element infos for this element, its ancestors (if they are not opened) and its children (if it is an Openable). Puts the newly created element info in the given map.- Angegeben von:
generateInfosin KlasseJavaElement- Löst aus:
JavaModelException
-
ignoreErrorStatus
protected boolean ignoreErrorStatus(org.eclipse.core.runtime.IStatus status) -
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. If this is the first time a request is being made for the buffer, an attempt is made to create and fill this element's buffer. If the buffer has been closed since it was first opened, the buffer is re-created.- Angegeben von:
getBufferin SchnittstelleIOpenable- Gibt zurück:
- the buffer opened for this element, or
nullif this element does not have a buffer - Löst aus:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.- Siehe auch:
-
getBufferFactory
Veraltet.Answers the buffer factory to use for creating new buffers -
getBufferManager
Returns the buffer manager for this element. -
getCorrespondingResource
Return my underlying resource. Elements that may not have a corresponding resource must override this method.- Angegeben von:
getCorrespondingResourcein SchnittstelleIJavaElement- Gibt zurück:
- the corresponding resource, or
nullif none - Löst aus:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource- Siehe auch:
-
getOpenable
Beschreibung aus Schnittstelle kopiert:IJavaElementReturns the first openable parent. If this element is openable, the element itself is returned. Returnsnullif this element doesn't have an openable parent. This is a handle-only method.- Angegeben von:
getOpenablein SchnittstelleIJavaElement- Setzt außer Kraft:
getOpenablein KlasseJavaElement- Gibt zurück:
- the first openable parent or
nullif this element doesn't have an openable parent.
-
getUnderlyingResource
Beschreibung aus Schnittstelle kopiert:IJavaElementReturns the smallest underlying resource that contains this element, ornullif this element is not contained in a resource.- Angegeben von:
getUnderlyingResourcein SchnittstelleIJavaElement- Gibt zurück:
- the underlying resource, or
nullif none - Löst aus:
JavaModelException- if this element does not exist or if an exception occurs while accessing its underlying resource- Siehe auch:
-
hasBuffer
protected boolean hasBuffer()Returns true if this element may have an associated source buffer, otherwise false. Subclasses must override as required. -
hasUnsavedChanges
Beschreibung aus Schnittstelle kopiert:IOpenableReturnstrueif this element is open and:- its buffer has unsaved changes, or
- one of its descendants has unsaved changes, or
- a working copy has been created on one of this element's children and has not yet destroyed
- Angegeben von:
hasUnsavedChangesin SchnittstelleIOpenable- Gibt zurück:
trueif this element is open and:- its buffer has unsaved changes, or
- one of its descendants has unsaved changes, or
- a working copy has been created on one of this element's children and has not yet destroyed
- Löst aus:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.- Siehe auch:
-
isConsistent
public boolean isConsistent()Subclasses must override as required.- Angegeben von:
isConsistentin SchnittstelleIOpenable- Gibt zurück:
- true if the element is consistent with its underlying resource or buffer, false otherwise.
- Siehe auch:
-
isOpen
public boolean isOpen()Beschreibung aus Schnittstelle kopiert:IOpenableReturns whether this openable is open. This is a handle-only method.Note: This method doesn't tell whether an
IJavaProject'sgetProject()is open. It is not equivalent toIProject.isOpen()!Note: Although
IOpenable.isOpen()is exposed in the API, clients rarely have a need to rely on this internal state of the Java model. -
isSourceElement
protected boolean isSourceElement()Returns true if this represents a source element. Openable source elements have an associated buffer created when they are opened. -
isStructureKnown
Beschreibung aus Schnittstelle kopiert:IJavaElementReturns whether the structure of this element is known. For example, for a compilation unit that has syntax errors,falseis returned. If the structure of an element is unknown, navigations will return reasonable defaults. For example,getChildrenfor a compilation unit with syntax errors will return a collection of the children that could be parsed.Note: This does not imply anything about consistency with the underlying resource/buffer contents.
- Angegeben von:
isStructureKnownin SchnittstelleIJavaElement- Gibt zurück:
trueif the structure of this element is known- Löst aus:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource- Siehe auch:
-
makeConsistent
public void makeConsistent(org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException Beschreibung aus Schnittstelle kopiert:IOpenableMakes this element consistent with its underlying resource or buffer by updating the element's structure and properties as necessary.Note: Using this functionality on a working copy will interfere with any subsequent reconciling operation. Indeed, the next
ICompilationUnit.reconcile(int, boolean, WorkingCopyOwner, IProgressMonitor)orICompilationUnit.reconcile(int, boolean, boolean, WorkingCopyOwner, IProgressMonitor)operation will not account for changes which occurred before an explicit use ofIOpenable.makeConsistent(IProgressMonitor)- Angegeben von:
makeConsistentin SchnittstelleIOpenable- Parameter:
monitor- the given progress monitor- Löst aus:
JavaModelException- if the element is unable to access the contents of its underlying resource. Reasons include:- This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
- Siehe auch:
-
open
Beschreibung aus Schnittstelle kopiert:IOpenableOpens this element and all parent elements that are not already open. For compilation units, a buffer is opened on the contents of the underlying resource.Note: Although
IOpenable.open(org.eclipse.core.runtime.IProgressMonitor)is exposed in the API, clients are not expected to open and close elements - the Java model does this automatically as elements are accessed.- Angegeben von:
openin SchnittstelleIOpenable- Parameter:
pm- the given progress monitor- Löst aus:
JavaModelException- if an error occurs accessing the contents of its underlying resource. Reasons include:- This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
- Siehe auch:
-
openBuffer
protected IBuffer openBuffer(org.eclipse.core.runtime.IProgressMonitor pm, Object info) throws JavaModelException Opens a buffer on the contents of this element, and returns the buffer, or returnsnullif opening fails. By default, do nothing - subclasses that have buffers must override as required.- Löst aus:
JavaModelException
-
getResource
public org.eclipse.core.resources.IResource getResource()Beschreibung aus Schnittstelle kopiert:IJavaElementReturns the innermost resource enclosing this element. If this element is included in an archive and this archive is not external, this is the underlying resource corresponding to the archive. If this element is included in an external library,nullis returned. This is a handle-only method.- Angegeben von:
getResourcein SchnittstelleIJavaElement- Setzt außer Kraft:
getResourcein KlasseJavaElement- Gibt zurück:
- the innermost resource enclosing this element,
nullif this element is included in an external archive
-
resource
public org.eclipse.core.resources.IResource resource()- Angegeben von:
resourcein KlasseJavaElement
-
resource
-
resourceExists
protected boolean resourceExists(org.eclipse.core.resources.IResource underlyingResource) Returns whether the corresponding resource or associated file exists -
save
public void save(org.eclipse.core.runtime.IProgressMonitor pm, boolean force) throws JavaModelException Beschreibung aus Schnittstelle kopiert:IOpenableSaves any changes in this element's buffer to its underlying resource via a workspace resource operation. This has no effect if the element has no underlying buffer, or if there are no unsaved changed in the buffer.The
forceparameter controls how this method deals with cases where the workbench is not completely in sync with the local file system. Iffalseis specified, this method will only attempt to overwrite a corresponding file in the local file system provided it is in sync with the workbench. This option ensures there is no unintended data loss; it is the recommended setting. However, iftrueis specified, an attempt will be made to write a corresponding file in the local file system, overwriting any existing one if need be. In either case, if this method succeeds, the resource will be marked as being local (even if it wasn't before).As a result of this operation, the element is consistent with its underlying resource or buffer.
- Angegeben von:
savein SchnittstelleIOpenable- Parameter:
pm- the given progress monitorforce- it controls how this method deals with cases where the workbench is not completely in sync with the local file system- Löst aus:
JavaModelException- if an error occurs accessing the contents of its underlying resource. Reasons include:- This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
- This Java element is read-only (READ_ONLY)
- Siehe auch:
-
getPackageFragmentRoot
Find enclosing package fragment root if any -
validateExistence
protected abstract org.eclipse.core.runtime.IStatus validateExistence(org.eclipse.core.resources.IResource underlyingResource) -
openAncestors
protected void openAncestors(HashMap newElements, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException - Löst aus:
JavaModelException
-