Package org.eclipse.ui.texteditor
Interface IDocumentProviderExtension
-
- All Known Implementing Classes:
AbstractDocumentProvider
,FileDocumentProvider
,ForwardingDocumentProvider
,StorageDocumentProvider
,TextFileDocumentProvider
,TextFileDocumentProvider.NullProvider
public interface IDocumentProviderExtension
Extension interface forIDocumentProvider
. It adds the following functions:- dealing with immutable domain elements
- state validation
- persistent status of domain element operations
- extended synchronization support
- Since:
- 2.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IStatus
getStatus(Object element)
Returns the status of the given element.boolean
isModifiable(Object element)
Returns whether the document provider thinks that the given element can persistently be modified.boolean
isReadOnly(Object element)
Returns whether the document provider thinks that the given element is read-only.boolean
isStateValidated(Object element)
Returns whether the state of the given element has been validated.void
setCanSaveDocument(Object element)
Marks the document managed for the given element as savable.void
synchronize(Object element)
Synchronizes the document provided for the given element with the given element.void
updateStateCache(Object element)
Updates the state cache for the given element.void
validateState(Object element, Object computationContext)
Validates the state of the given element.
-
-
-
Method Detail
-
isReadOnly
boolean isReadOnly(Object element)
Returns whether the document provider thinks that the given element is read-only. If this method returnstrue
,saveDocument
could fail. This method does not say anything about the document constructed from the given element. If the given element is not connected to this document provider, the return value is undefined. Document providers are allowed to use a cache to answer this question, i.e. there can be a difference between the "real" state of the element and the return value.- Parameters:
element
- the element- Returns:
true
if the given element is read-only,false
otherwise
-
isModifiable
boolean isModifiable(Object element)
Returns whether the document provider thinks that the given element can persistently be modified. This is orthogonal toisReadOnly
as read-only elements may be modifiable and writable elements may not be modifiable. If the given element is not connected to this document provider, the result is undefined. Document providers are allowed to use a cache to answer this question, i.e. there can be a difference between the "real" state of the element and the return value.- Parameters:
element
- the element- Returns:
true
if the given element is modifiable,false
otherwise
-
validateState
void validateState(Object element, Object computationContext) throws CoreException
Validates the state of the given element. This method may change the "real" state of the element. If using, it also updates the internal caches, so that this method may also change the results returned byisReadOnly
andisModifiable
. If the given element is not connected to this document provider, the effect is undefined.- Parameters:
element
- the elementcomputationContext
- the context in which the computation is performed, e.g., a SWT shell- Throws:
CoreException
- if validating fails
-
isStateValidated
boolean isStateValidated(Object element)
Returns whether the state of the given element has been validated.- Parameters:
element
- the element- Returns:
true
if the state has been validated
-
updateStateCache
void updateStateCache(Object element) throws CoreException
Updates the state cache for the given element. This method may change the result returned byisReadOnly
andisModifiable
. If the given element is not connected to this document provider, the effect is undefined.- Parameters:
element
- the element- Throws:
CoreException
- if validating fails
-
setCanSaveDocument
void setCanSaveDocument(Object element)
Marks the document managed for the given element as savable. I.e.canBeSaved(element)
will returntrue
afterwards.- Parameters:
element
- the element
-
getStatus
IStatus getStatus(Object element)
Returns the status of the given element.- Parameters:
element
- the element- Returns:
- the status of the given element
-
synchronize
void synchronize(Object element) throws CoreException
Synchronizes the document provided for the given element with the given element. After that callgetSynchronizationTimeStamp
andgetModificationTimeStamp
return the same value.- Parameters:
element
- the element- Throws:
CoreException
- if the synchronization could not be performed
-
-