Interface ISharedDocumentAdapter

All Known Implementing Classes:
SharedDocumentAdapter, SharedDocumentAdapterWrapper

public interface ISharedDocumentAdapter
An ISharedDocumentAdapter is used to map an ITypedElement to a shared document for the purposes of editing.
Since:
3.3
Restriction:
Clients are not expected to implement this interface but instead should subclass SharedDocumentAdapter or SharedDocumentAdapterWrapper.
  • Method Details

    • getDocumentKey

      IEditorInput getDocumentKey(Object element)
      Return the object that is to be used as the key for retrieving the appropriate IDocumentProvider from the DocumentProviderRegistry and for obtaining the shared IDocument from the document provider. Returns null if the element does not have a shared document.
      Parameters:
      element - the element being queried for a shared document
      Returns:
      the object that acts as the key to obtain a document provider and document or null
    • connect

      void connect(IDocumentProvider provider, IEditorInput documentKey) throws CoreException
      Connect the given element to its document provider. All connections must be performed through this adapter so that the adapter can track whether it is connected or not.
      Parameters:
      provider - the document provider
      documentKey - the element's key returned from getDocumentKey(Object)
      Throws:
      CoreException - if connection was not possible
      See Also:
    • disconnect

      void disconnect(IDocumentProvider provider, IEditorInput documentKey)
      Disconnect the element from the document provider. All connects and disconnects must occur through the adapter so that the adapter can track whether it is connected or not.
      Parameters:
      provider - the document provider
      documentKey - the element's key returned from getDocumentKey(Object)
      See Also:
    • disconnect

      void disconnect(Object element)
      A helper disconnect method that looks up the appropriate key (using getDocumentKey(Object) and the appropriate provider and calls disconnect(IDocumentProvider, IEditorInput).
      Parameters:
      element - the element that was used to previously connect to a document
      See Also:
    • flushDocument

      void flushDocument(IDocumentProvider provider, IEditorInput documentKey, IDocument document, boolean overwrite) throws CoreException
      Flush the contents of the given document into the typed element that provided the document. This method is invoked by the Compare framework classes when a request to flush the viewers has been made. It is up to the implementor to decide whether the changes in the buffer should be saved to disk at the time of the flush or buffered to be saved at a later time.
      Parameters:
      provider - the document provider
      documentKey - the element's key returned from getDocumentKey(Object)
      document - the document
      overwrite - indicates whether overwrite should be performed while saving the given element if necessary
      Throws:
      CoreException - if document could not be stored to the given element
      See Also: