|
Runtime | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.gmf.runtime.diagram.ui.resources.editor.document.AbstractDocumentProvider
org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.document.StorageDocumentProvider
org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.document.FileDocumentProvider
public abstract class FileDocumentProvider
Shared document provider specialized for file resources (IFile).
This class should be subclassed for different types of documents.
| Nested Class Summary | |
|---|---|
protected class |
FileDocumentProvider.FileInfo
Bundle of all required information to allow files as underlying document resources. |
protected class |
FileDocumentProvider.FileSynchronizer
Synchronizes the document with external resource changes. |
protected class |
FileDocumentProvider.SafeChange
Runnable encapsulating an element state change. |
| Nested classes/interfaces inherited from class org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.document.StorageDocumentProvider |
|---|
StorageDocumentProvider.StorageInfo |
| Nested classes/interfaces inherited from class org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.AbstractDocumentProvider |
|---|
AbstractDocumentProvider.DocumentProviderOperation, AbstractDocumentProvider.ElementInfo |
| Field Summary | |
|---|---|
protected IResourceRuleFactory |
fResourceRuleFactory
The scheduling rule factory. |
| Fields inherited from class org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.AbstractDocumentProvider |
|---|
PR10806_UC5_ENABLED, PR14469_ENABLED, STATUS_ERROR, STATUS_OK |
| Constructor Summary | |
|---|---|
FileDocumentProvider()
Creates and returns a new document provider. |
|
| Method Summary | |
|---|---|
protected void |
checkSynchronizationState(long cachedModificationStamp,
IResource resource)
Checks whether the given resource has been changed on the local file system by comparing the actual time stamp with the cached one. |
protected long |
computeModificationStamp(IResource resource)
Computes the initial modification stamp for the given resource. |
protected AbstractDocumentProvider.ElementInfo |
createElementInfo(java.lang.Object element)
Creates a new element info object for the given element. |
protected FileDocumentProvider.FileInfo |
createFileInfo(IDocument document,
FileDocumentProvider.FileSynchronizer synchronizer,
IFileEditorInput input)
Create a FileInfo for the given document. |
protected void |
disposeElementInfo(java.lang.Object element,
AbstractDocumentProvider.ElementInfo info)
Disposes of the given element info object. |
protected void |
doResetDocument(java.lang.Object element,
IProgressMonitor monitor)
Executes the actual work of reseting the given elements document. |
protected void |
doSaveDocument(IProgressMonitor monitor,
java.lang.Object element,
IDocument document,
boolean overwrite)
Performs the actual work of saving the given document provided for the given element. |
protected void |
doSynchronize(java.lang.Object element,
IProgressMonitor monitor)
Performs the actual work of synchronizing the given element. |
protected void |
doValidateState(java.lang.Object element,
java.lang.Object computationContext)
Hook method for validating the state of the given element. |
protected AbstractDocumentProvider.ElementInfo |
getElementInfo(java.lang.Object element)
Returns the element info object for the given element. |
long |
getModificationStamp(java.lang.Object element)
Returns the modification stamp of the given element. |
protected IRunnableContext |
getOperationRunner(IProgressMonitor monitor)
Returns the runnable context for this document provider. |
protected ISchedulingRule |
getResetRule(java.lang.Object element)
Returns the scheduling rule required for executing reset on the given element. |
protected ISchedulingRule |
getSaveRule(java.lang.Object element)
Returns the scheduling rule required for executing save on the given element. |
long |
getSynchronizationStamp(java.lang.Object element)
Returns the time stamp of the last synchronization of the given element and it's provided document. |
protected ISchedulingRule |
getSynchronizeRule(java.lang.Object element)
Returns the scheduling rule required for executing synchronize on the given element. |
protected ISchedulingRule |
getValidateStateRule(java.lang.Object element)
Returns the scheduling rule required for executing validateState on the given element. |
protected void |
handleElementContentChanged(IFileEditorInput fileEditorInput)
Updates the element info to a change of the file content and sends out appropriate notifications. |
protected void |
handleElementDeleted(IFileEditorInput fileEditorInput)
Sends out the notification that the file serving as document input has been deleted. |
protected void |
handleElementMoved(IFileEditorInput fileEditorInput,
IPath path)
Sends out the notification that the file serving as document input has been moved. |
boolean |
isDeleted(java.lang.Object element)
Returns whether the given element has been deleted. |
boolean |
isModifiable(java.lang.Object element)
Returns whether the document provider thinks that the given element can persistently be modified. |
boolean |
isSynchronized(java.lang.Object element)
Returns whether the information provided for the given element is in sync with the element. |
protected void |
refreshFile(IFile file)
Refreshes the given file resource. |
protected void |
refreshFile(IFile file,
IProgressMonitor monitor)
Refreshes the given file resource. |
protected abstract void |
saveDocumentToFile(IDocument document,
IFile file,
boolean overwrite,
IProgressMonitor monitor)
Initializes the given document with the given stream using the given encoding. |
protected void |
setDocumentContent(IDocument document,
java.lang.Object content)
Initializes the given document with the given stream using the given encoding. |
| Methods inherited from class org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.document.StorageDocumentProvider |
|---|
createDocument, createEmptyDocument, createNewElementInfo, doUpdateStateCache, handleCoreException, isReadOnly, setDocumentContent, setDocumentContentFromStorage, setupDocument, updateCache |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected IResourceRuleFactory fResourceRuleFactory
| Constructor Detail |
|---|
public FileDocumentProvider()
| Method Detail |
|---|
protected void checkSynchronizationState(long cachedModificationStamp,
IResource resource)
throws CoreException
CoreException
is thrown.
cachedModificationStamp - the cached modification stampresource - the resource to check
CoreException - if resource has been changed on the file systemprotected long computeModificationStamp(IResource resource)
resource - the resource
public long getModificationStamp(java.lang.Object element)
IDocumentProvider
getModificationStamp in interface IDocumentProvidergetModificationStamp in class AbstractDocumentProviderelement - the element
public long getSynchronizationStamp(java.lang.Object element)
IDocumentProvider
getSynchronizationStamp in interface IDocumentProvidergetSynchronizationStamp in class AbstractDocumentProviderelement - the element
protected void doSynchronize(java.lang.Object element,
IProgressMonitor monitor)
throws CoreException
AbstractDocumentProvider
doSynchronize in class AbstractDocumentProviderelement - the elementmonitor - the progress monitor
CoreException - in the case that synchronization failspublic boolean isDeleted(java.lang.Object element)
IDocumentProvider
isDeleted in interface IDocumentProviderisDeleted in class AbstractDocumentProviderelement - the element
true if the element has been deleted
protected abstract void saveDocumentToFile(IDocument document,
IFile file,
boolean overwrite,
IProgressMonitor monitor)
throws CoreException
document - the document to be initializedcontentStream - the stream which delivers the document contentencoding - the character encoding for reading the given stream
CoreException - if the given stream can not be read
protected void doSaveDocument(IProgressMonitor monitor,
java.lang.Object element,
IDocument document,
boolean overwrite)
throws CoreException
AbstractDocumentProviderSubclasses must implement this method.
doSaveDocument in class StorageDocumentProvidermonitor - a progress monitor to report progress and request cancellationelement - the elementdocument - the documentoverwrite - indicates whether an overwrite should happen if necessary
CoreException - if document could not be stored to the given element
protected AbstractDocumentProvider.ElementInfo createElementInfo(java.lang.Object element)
throws CoreException
AbstractDocumentProvider
This method is called from connect when an element info needs
to be created. The AbstractDocumentProvider implementation
of this method returns a new element info object whose document and
annotation model are the values of createDocument(element)
and createAnnotationModel(element), respectively. Subclasses
may override.
createElementInfo in class StorageDocumentProviderelement - the element
CoreException - if the document or annotation model could not be created
protected FileDocumentProvider.FileInfo createFileInfo(IDocument document,
FileDocumentProvider.FileSynchronizer synchronizer,
IFileEditorInput input)
document - to create a FileInfo forsynchronizer - FileSynchronizer which has been created for the
IFileEditorInputinput - IFileEditorInput corresponding to the document
protected void disposeElementInfo(java.lang.Object element,
AbstractDocumentProvider.ElementInfo info)
AbstractDocumentProvider
This method is called when an element info is disposed. The
AbstractDocumentProvider implementation of this
method does nothing. Subclasses may reimplement.
disposeElementInfo in class AbstractDocumentProviderelement - the elementinfo - the element info objectprotected void handleElementContentChanged(IFileEditorInput fileEditorInput)
fileEditorInput - the input of a document editor
protected void setDocumentContent(IDocument document,
java.lang.Object content)
throws CoreException
document - the document to be initializedcontentStream - the stream which delivers the document contentencoding - the character encoding for reading the given stream
CoreException - if the given stream can not be read
protected void handleElementMoved(IFileEditorInput fileEditorInput,
IPath path)
fileEditorInput - the input of an document editorpath - the path of the new location of the fileprotected void handleElementDeleted(IFileEditorInput fileEditorInput)
fileEditorInput - the input of an document editorprotected AbstractDocumentProvider.ElementInfo getElementInfo(java.lang.Object element)
AbstractDocumentProvider
getElementInfo in class AbstractDocumentProviderelement - the element
null if none
protected void doValidateState(java.lang.Object element,
java.lang.Object computationContext)
throws CoreException
AbstractDocumentProvider
doValidateState in class AbstractDocumentProviderelement - the elementcomputationContext - the context in which validation happens
CoreException - in case validation failspublic boolean isModifiable(java.lang.Object element)
IDocumentProviderisReadOnly 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.
isModifiable in interface IDocumentProviderisModifiable in class StorageDocumentProviderelement - the element
true if the given element is modifiable, false otherwise
protected void doResetDocument(java.lang.Object element,
IProgressMonitor monitor)
throws CoreException
AbstractDocumentProvider
doResetDocument in class AbstractDocumentProviderelement - the elementmonitor - the progress monitor
CoreException
protected void refreshFile(IFile file)
throws CoreException
file -
CoreException - if the refresh fails
protected void refreshFile(IFile file,
IProgressMonitor monitor)
throws CoreException
file - the file to be refreshedmonitor - the progress monitor
CoreException - if the refresh failspublic boolean isSynchronized(java.lang.Object element)
IDocumentProvider
isSynchronized in interface IDocumentProviderisSynchronized in class AbstractDocumentProviderelement - the element
true if the information is in sync with the element, false otherwiseprotected IRunnableContext getOperationRunner(IProgressMonitor monitor)
AbstractDocumentProvider
getOperationRunner in class StorageDocumentProvidermonitor - a progress monitor to track the operation
protected ISchedulingRule getResetRule(java.lang.Object element)
AbstractDocumentProviderreset on the given element. This default
implementation returns null.
getResetRule in class AbstractDocumentProviderelement - the element
resetprotected ISchedulingRule getSaveRule(java.lang.Object element)
AbstractDocumentProvidersave on the given element. This default
implementation returns null.
getSaveRule in class AbstractDocumentProviderelement - the element
saveprotected ISchedulingRule getSynchronizeRule(java.lang.Object element)
AbstractDocumentProvidersynchronize on the given element. This default
implementation returns null.
getSynchronizeRule in class AbstractDocumentProviderelement - the element
synchronizeprotected ISchedulingRule getValidateStateRule(java.lang.Object element)
AbstractDocumentProvidervalidateState on the given element. This default
implementation returns null.
getValidateStateRule in class AbstractDocumentProviderelement - the element
validateState
|
Runtime | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.