# Interface IReconciler

All Superinterfaces:
  `ITextViewerLifecycle`

All Known Implementing Classes:
  `AbstractReconciler, CodeMiningReconciler, MonoReconciler, Reconciler`

public interface IReconciler extends ITextViewerLifecycle
An `IReconciler` defines and maintains a model of the content of the text viewer's document in the presence of changes applied to this document. An `IReconciler` is a `ITextViewer` add-on.

Reconcilers are assumed to be asynchronous, i.e. they allow a certain temporal window of inconsistency between the document and the model of the content of this document.

Reconcilers have a list of `IReconcilingStrategy` objects each of which is registered for a particular document content type. The reconciler uses the strategy objects to react on the changes applied to the text viewer's document.

In order to provide backward compatibility for clients of `IReconciler`, extension interfaces are used to provide a means of evolution. The following extension interfaces exist:

- `IReconcilerExtension` since version 3.0 introducing the ability to be aware of documents with multiple partitionings.

The interface can be implemented by clients. By default, clients use `MonoReconciler` or `Reconciler` as the standard implementers of this interface.

See Also:
  - `ITextViewer`
  - `IReconcilingStrategy`

## Method Summary

Modifier and Type
Method
Description
`IReconcilingStrategy`
`getReconcilingStrategy(String contentType)`
Returns the reconciling strategy registered with the reconciler for the specified content type.
`void`
`install(ITextViewer textViewer)`
Installs the reconciler on the given text viewer.
`void`
`uninstall()`
Removes the reconciler from the text viewer it has previously been installed on.

## Method Details

### install

void install(ITextViewer textViewer)
Installs the reconciler on the given text viewer. After this method has been finished, the reconciler is operational, i.e., it works without requesting further client actions until `uninstall` is called.

Specified by:
  `install` in interface `ITextViewerLifecycle`
Parameters:
  `textViewer` - the viewer on which the reconciler is installed

### uninstall

void uninstall()
Removes the reconciler from the text viewer it has previously been installed on.

Specified by:
  `uninstall` in interface `ITextViewerLifecycle`

### getReconcilingStrategy

IReconcilingStrategy getReconcilingStrategy(String contentType)
Returns the reconciling strategy registered with the reconciler for the specified content type.

Parameters:
  `contentType` - the content type for which to determine the reconciling strategy
Returns:
  the reconciling strategy registered for the given content type, or `null` if there is no such strategy