|
|
|
|
org.eclipse.ui.editors.text
Class StorageDocumentProvider
java.lang.Object
org.eclipse.ui.texteditor.AbstractDocumentProvider
org.eclipse.ui.editors.text.StorageDocumentProvider
-
All Implemented Interfaces:
-
IStorageDocumentProvider,
IDocumentProvider,
IDocumentProviderExtension,
IDocumentProviderExtension2,
IDocumentProviderExtension3,
IDocumentProviderExtension4,
IDocumentProviderExtension5
-
Direct Known Subclasses:
-
FileDocumentProvider
-
public class StorageDocumentProvider
- extends
AbstractDocumentProvider
- implements
IStorageDocumentProvider
Shared document provider specialized for
IStorage s.
Method Summary
|
protected
IAnnotationModel
|
createAnnotationModel
(
Object element)
Creates an annotation model for the given element. |
protected
IDocument
|
createDocument
(
Object element)
Creates the document for the given element. |
protected
AbstractDocumentProvider.ElementInfo
|
createElementInfo
(
Object element)
Creates a new element info object for the given element. |
protected
IDocument
|
createEmptyDocument
()
Factory method for creating empty documents. |
protected void
|
doSaveDocument
(
IProgressMonitor monitor,
Object element,
IDocument document,
boolean overwrite)
Performs the actual work of saving the given document provided for the
given element. |
protected void
|
doUpdateStateCache
(
Object element)
Hook method for updating the state of the given element. |
IContentType
|
getContentType
(
Object element)
Returns the content type of for the given element or
null if none could be determined. |
String
|
getDefaultEncoding
()
Returns the default character encoding used by this provider. |
String
|
getEncoding
(
Object element)
Returns the character encoding for the given element, or
null if the element is not managed by this provider. |
protected
IRunnableContext
|
getOperationRunner
(
IProgressMonitor monitor)
Returns the runnable context for this document provider. |
protected
String
|
getPersistedEncoding
(
Object element)
Returns the persisted encoding for the given element. |
protected void
|
handleCoreException
(
CoreException exception,
String message)
Defines the standard procedure to handle CoreExceptions . |
boolean
|
isModifiable
(
Object element)
Returns whether the document provider thinks that the given element can persistently be modified. |
boolean
|
isNotSynchronizedException
(
Object element,
CoreException ex)
Tells whether the given core exception is exactly the
exception which is thrown for a non-synchronized element. |
boolean
|
isReadOnly
(
Object element)
Returns whether the document provider thinks that the given element is read-only. |
protected void
|
persistEncoding
(
Object element,
String encoding)
Persists the given encoding for the given element. |
protected boolean
|
setDocumentContent
(
IDocument document,
IEditorInput editorInput)
Deprecated. use the encoding based version instead
|
protected boolean
|
setDocumentContent
(
IDocument document,
IEditorInput editorInput,
String encoding)
Initializes the given document from the given editor input using the given character encoding. |
protected void
|
setDocumentContent
(
IDocument document,
InputStream contentStream)
Deprecated. use encoding based version instead
|
protected void
|
setDocumentContent
(
IDocument document,
InputStream contentStream,
String encoding)
Initializes the given document with the given stream using the given encoding. |
void
|
setEncoding
(
Object element,
String encoding)
Sets the encoding for the given element. |
protected void
|
setupDocument
(
Object element,
IDocument document)
Sets up the given document as it would be provided for the given element. |
protected void
|
updateCache
(
IStorageEditorInput input)
Updates the internal cache for the given input. |
Methods inherited from class org.eclipse.ui.texteditor.
AbstractDocumentProvider
|
aboutToChange,
addElementStateListener,
addUnchangedElementListeners,
canSaveDocument,
changed,
connect,
connected,
disconnect,
disconnected,
disposeElementInfo,
doResetDocument,
doSynchronize,
doValidateState,
executeOperation,
fireElementContentAboutToBeReplaced,
fireElementContentReplaced,
fireElementDeleted,
fireElementDirtyStateChanged,
fireElementMoved,
fireElementStateChangeFailed,
fireElementStateChanging,
fireElementStateValidationChanged,
getAnnotationModel,
getConnectedElements,
getDocument,
getElementInfo,
getModificationStamp,
getProgressMonitor,
getResetRule,
getSaveRule,
getStatus,
getSynchronizationStamp,
getSynchronizeRule,
getValidateStateRule,
invalidatesState,
isDeleted,
isStateValidated,
isSynchronized,
mustSaveDocument,
removeElementStateListener,
removeUnchangedElementListeners,
resetDocument,
saveDocument,
setCanSaveDocument,
setProgressMonitor,
synchronize,
updateStateCache,
validateState
|
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
DEFAULT_FILE_SIZE
protected static final int DEFAULT_FILE_SIZE
- Default file size.
-
Since:
- 2.1
-
See Also:
-
Constant Field Values
StorageDocumentProvider
public StorageDocumentProvider()
- Creates a new document provider.
-
Since:
- 2.0
setDocumentContent
protected void setDocumentContent(
IDocument document,
InputStream contentStream)
throws
CoreException
-
Deprecated. use encoding based version instead
- Initializes the given document with the given stream.
-
-
-
Parameters:
-
document - the document to be initialized -
contentStream - the stream which delivers the document content
-
Throws:
-
CoreException
- if the given stream can not be read
setDocumentContent
protected void setDocumentContent(
IDocument document,
InputStream contentStream,
String encoding)
throws
CoreException
- Initializes the given document with the given stream using the given encoding.
-
-
-
Parameters:
-
document - the document to be initialized -
contentStream - the stream which delivers the document content -
encoding - the character encoding for reading the given stream
-
Throws:
-
CoreException
- if the given stream can not be read -
Since:
- 2.0
setDocumentContent
protected boolean setDocumentContent(
IDocument document,
IEditorInput editorInput)
throws
CoreException
-
Deprecated. use the encoding based version instead
- Initializes the given document from the given editor input using the default character encoding.
-
-
-
Parameters:
-
document - the document to be initialized -
editorInput - the input from which to derive the content of the document
-
Returns:
-
true if the document content could be set, false otherwise
-
Throws:
-
CoreException
- if the given editor input cannot be accessed -
Since:
- 2.0
setDocumentContent
protected boolean setDocumentContent(
IDocument document,
IEditorInput editorInput,
String encoding)
throws
CoreException
- Initializes the given document from the given editor input using the given character encoding.
-
-
-
Parameters:
-
document - the document to be initialized -
editorInput - the input from which to derive the content of the document -
encoding - the character encoding used to read the editor input
-
Returns:
-
true if the document content could be set, false otherwise
-
Throws:
-
CoreException
- if the given editor input cannot be accessed -
Since:
- 2.0
createAnnotationModel
protected
IAnnotationModel createAnnotationModel(
Object element)
throws
CoreException
-
Description copied from class:
AbstractDocumentProvider
- Creates an annotation model for the given element.
Subclasses must implement this method.
-
-
Specified by:
-
createAnnotationModel
in class
AbstractDocumentProvider
-
-
Parameters:
-
element - the element
-
Returns:
- the annotation model or
null if none
-
Throws:
-
CoreException
- if the annotation model could not be created
createEmptyDocument
protected
IDocument createEmptyDocument()
- Factory method for creating empty documents.
-
-
-
Returns:
- the newly created document
-
Since:
- 2.1
createDocument
protected
IDocument createDocument(
Object element)
throws
CoreException
-
Description copied from class:
AbstractDocumentProvider
- Creates the document for the given element.
Subclasses must implement this method.
-
-
Specified by:
-
createDocument
in class
AbstractDocumentProvider
-
-
Parameters:
-
element - the element
-
Returns:
- the document
-
Throws:
-
CoreException
- if the document could not be created
setupDocument
protected void setupDocument(
Object element,
IDocument document)
- Sets up the given document as it would be provided for the given element. The
content of the document is not changed. This default implementation is empty.
Subclasses may reimplement.
-
-
-
Parameters:
-
element - the blue-print element -
document - the document to set up -
Since:
- 3.0
createElementInfo
protected
AbstractDocumentProvider.ElementInfo createElementInfo(
Object element)
throws
CoreException
-
Description copied from class:
AbstractDocumentProvider
- Creates a new element info object for the given element.
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.
-
-
Overrides:
-
createElementInfo
in class
AbstractDocumentProvider
-
-
Parameters:
-
element - the element
-
Returns:
- a new element info object
-
Throws:
-
CoreException
- if the document or annotation model could not be created
doSaveDocument
protected void doSaveDocument(
IProgressMonitor monitor,
Object element,
IDocument document,
boolean overwrite)
throws
CoreException
-
Description copied from class:
AbstractDocumentProvider
- Performs the actual work of saving the given document provided for the
given element.
Subclasses must implement this method.
-
-
Specified by:
-
doSaveDocument
in class
AbstractDocumentProvider
-
-
Parameters:
-
monitor - a progress monitor to report progress and request cancelation -
element - the element -
document - the document -
overwrite - indicates whether an overwrite should happen if necessary
-
Throws:
-
CoreException
- if document could not be stored to the given element
handleCoreException
protected void handleCoreException(
CoreException exception,
String message)
- Defines the standard procedure to handle
CoreExceptions . Exceptions
are written to the plug-in log.
-
-
-
Parameters:
-
exception - the exception to be logged -
message - the message to be logged -
Since:
- 2.0
updateCache
protected void updateCache(
IStorageEditorInput input)
throws
CoreException
- Updates the internal cache for the given input.
-
-
-
Parameters:
-
input - the input whose cache will be updated
-
Throws:
-
CoreException
- if the storage cannot be retrieved from the input -
Since:
- 2.0
isReadOnly
public boolean isReadOnly(
Object element)
-
Description copied from interface:
IDocumentProviderExtension
- Returns whether the document provider thinks that the given element is read-only.
If this method returns
true , 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.
-
-
Specified by:
-
isReadOnly
in interface
IDocumentProviderExtension
-
Overrides:
-
isReadOnly
in class
AbstractDocumentProvider
-
-
Parameters:
-
element - the element
-
Returns:
-
true if the given element is read-only, false otherwise
isNotSynchronizedException
public boolean isNotSynchronizedException(
Object element,
CoreException ex)
-
Description copied from interface:
IDocumentProviderExtension5
- Tells whether the given core exception is exactly the
exception which is thrown for a non-synchronized element.
-
-
Specified by:
-
isNotSynchronizedException
in interface
IDocumentProviderExtension5
-
Overrides:
-
isNotSynchronizedException
in class
AbstractDocumentProvider
-
-
Parameters:
-
element - the element -
ex - the core exception
-
Returns:
-
true iff the given core exception is exactly the
exception which is thrown for a non-synchronized element
isModifiable
public boolean isModifiable(
Object element)
-
Description copied from interface:
IDocumentProviderExtension
- Returns whether the document provider thinks that the given element can persistently be modified.
This is orthogonal to
isReadOnly 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.
-
-
Specified by:
-
isModifiable
in interface
IDocumentProviderExtension
-
Overrides:
-
isModifiable
in class
AbstractDocumentProvider
-
-
Parameters:
-
element - the element
-
Returns:
-
true if the given element is modifiable, false otherwise
doUpdateStateCache
protected void doUpdateStateCache(
Object element)
throws
CoreException
-
Description copied from class:
AbstractDocumentProvider
- Hook method for updating the state of the given element.
Default implementation is empty.
-
-
Overrides:
-
doUpdateStateCache
in class
AbstractDocumentProvider
-
-
Parameters:
-
element - the element
-
Throws:
-
CoreException
- in case state cache updating fails
getDefaultEncoding
public
String getDefaultEncoding()
-
Description copied from interface:
IStorageDocumentProvider
- Returns the default character encoding used by this provider.
-
-
Specified by:
-
getDefaultEncoding
in interface
IStorageDocumentProvider
-
-
Returns:
- the default character encoding used by this provider
getEncoding
public
String getEncoding(
Object element)
-
Description copied from interface:
IStorageDocumentProvider
- Returns the character encoding for the given element, or
null if the element is not managed by this provider.
-
-
Specified by:
-
getEncoding
in interface
IStorageDocumentProvider
-
-
Parameters:
-
element - the element
-
Returns:
- the encoding for the given element
setEncoding
public void setEncoding(
Object element,
String encoding)
-
Description copied from interface:
IStorageDocumentProvider
- Sets the encoding for the given element. If
encoding
is null the workbench's character encoding should be used.
-
-
Specified by:
-
setEncoding
in interface
IStorageDocumentProvider
-
-
Parameters:
-
element - the element -
encoding - the encoding to be used
getContentType
public
IContentType getContentType(
Object element)
throws
CoreException
-
Description copied from interface:
IDocumentProviderExtension4
- Returns the content type of for the given element or
null if none could be determined. If the element's
document can be saved, the returned content type is determined by the
document's current content.
-
-
Specified by:
-
getContentType
in interface
IDocumentProviderExtension4
-
Overrides:
-
getContentType
in class
AbstractDocumentProvider
-
-
Parameters:
-
element - the element
-
Returns:
- the content type or
null
-
Throws:
-
CoreException
- if reading or accessing the underlying store
fails
getPersistedEncoding
protected
String getPersistedEncoding(
Object element)
- Returns the persisted encoding for the given element.
-
-
-
Parameters:
-
element - the element for which to get the persisted encoding
-
Returns:
- the persisted encoding
-
Since:
- 2.1
persistEncoding
protected void persistEncoding(
Object element,
String encoding)
throws
CoreException
- Persists the given encoding for the given element.
-
-
-
Parameters:
-
element - the element for which to store the persisted encoding -
encoding - the encoding
-
Throws:
-
CoreException
- if the operation fails -
Since:
- 2.1
getOperationRunner
protected
IRunnableContext getOperationRunner(
IProgressMonitor monitor)
-
Description copied from class:
AbstractDocumentProvider
- Returns the runnable context for this document provider.
-
-
Specified by:
-
getOperationRunner
in class
AbstractDocumentProvider
-
-
Parameters:
-
monitor - a progress monitor to track the operation
-
Returns:
- the runnable context for this document provider
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.
|
|
|