Package org.eclipse.compare

# Class SharedDocumentAdapter

java.lang.Object
org.eclipse.compare.SharedDocumentAdapter

All Implemented Interfaces:
  `ISharedDocumentAdapter`

public abstract class SharedDocumentAdapter extends Object implements ISharedDocumentAdapter
An implementation of `ISharedDocumentAdapter` that provides default behavior for the methods of that interface.

Clients may subclass this class.

Since:
  3.3

## Constructor Summary

Constructors
Constructor
Description
`SharedDocumentAdapter()`

## Method Summary

Modifier and Type
Method
Description
`void`
`connect(IDocumentProvider provider, IEditorInput documentKey)`
Connect the given element to its document provider.
`void`
`disconnect(Object element)`
A helper disconnect method that looks up the appropriate key (using `ISharedDocumentAdapter.getDocumentKey(Object)` and the appropriate provider and calls `ISharedDocumentAdapter.disconnect(IDocumentProvider, IEditorInput)`.
`void`
`disconnect(IDocumentProvider provider, IEditorInput documentKey)`
Disconnect the element from the document provider.
`IEditorInput`
`getDocumentKey(Object element)`
Default implementation of `getDocumentKey(Object)` that returns a `FileEditorInput` for the element if the element adapts to `IFile`.
`static IDocumentProvider`
`getDocumentProvider(IEditorInput input)`
Returns the document provider for the given editor input.
`protected void`
`saveDocument(IDocumentProvider provider, IEditorInput documentKey, IDocument document, boolean overwrite, IProgressMonitor monitor)`
A helper method to save a document.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.compare.ISharedDocumentAdapter

`flushDocument`

## Constructor Details

### SharedDocumentAdapter

public SharedDocumentAdapter()

## Method Details

### getDocumentProvider

public static IDocumentProvider getDocumentProvider(IEditorInput input)
Returns the document provider for the given editor input.

Parameters:
  `input` - the editor input
Returns:
  the document provider for the given editor input

### connect

public void connect(IDocumentProvider provider, IEditorInput documentKey) throws CoreException
Description copied from interface: `ISharedDocumentAdapter`
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.

Specified by:
  `connect` in interface `ISharedDocumentAdapter`
Parameters:
  `provider` - the document provider
  `documentKey` - the element's key returned from `ISharedDocumentAdapter.getDocumentKey(Object)`
Throws:
  `CoreException` - if connection was not possible
See Also:
  - `IDocumentProvider.connect(Object)`

### disconnect

public void disconnect(IDocumentProvider provider, IEditorInput documentKey)
Description copied from interface: `ISharedDocumentAdapter`
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.

Specified by:
  `disconnect` in interface `ISharedDocumentAdapter`
Parameters:
  `provider` - the document provider
  `documentKey` - the element's key returned from `ISharedDocumentAdapter.getDocumentKey(Object)`
See Also:
  - `IDocumentProvider.disconnect(Object)`

### getDocumentKey

public IEditorInput getDocumentKey(Object element)
Default implementation of `getDocumentKey(Object)` that returns a `FileEditorInput` for the element if the element adapts to `IFile`.

Specified by:
  `getDocumentKey` in interface `ISharedDocumentAdapter`
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`
See Also:
  - `ISharedDocumentAdapter.getDocumentKey(java.lang.Object)`

### saveDocument

protected void saveDocument(IDocumentProvider provider, IEditorInput documentKey, IDocument document, boolean overwrite, IProgressMonitor monitor) throws CoreException
A helper method to save a document.

Parameters:
  `provider` - the document provider
  `documentKey` - the document key
  `document` - the document
  `overwrite` - indicates whether overwrite should be performed while saving the given element if necessary
  `monitor` - a progress monitor
Throws:
  `CoreException` - if document could not be stored to the given element

### disconnect

public void disconnect(Object element)
Description copied from interface: `ISharedDocumentAdapter`
A helper disconnect method that looks up the appropriate key (using `ISharedDocumentAdapter.getDocumentKey(Object)` and the appropriate provider and calls `ISharedDocumentAdapter.disconnect(IDocumentProvider, IEditorInput)`.

Specified by:
  `disconnect` in interface `ISharedDocumentAdapter`
Parameters:
  `element` - the element that was used to previously connect to a document
See Also:
  - `IDocumentProvider.disconnect(Object)`