Package org.eclipse.jface.text.presentation

## Interface IPresentationReconciler

All Known Implementing Classes:
  `PresentationReconciler`

    public interface IPresentationReconciler

An `IPresentationReconciler` defines and maintains the representation of a text viewer's document in the presence of changes applied to the document. An `IPresentationReconciler` is a `ITextViewer` add-on.

The presentation reconciler keeps track of changes applied to the text viewer. It sends each change to presentation damagers which are registered for the content types of the regions in which the change occurred. The presentation reconciler passes the computed damage to presentation repairer which construct text presentations. When applied to the presentation reconciler's text viewer, those text presentations bring the document's presentation in sync with the document's content and thus repair the damage. A presentation damager is expected to return damage which is a valid input for a presentation repairer registered for the same content type as the damager.

A presentation reconciler should always be configured with a pair of damager/repairer strategies. I.e. for each damager there should be a corresponding repairer.

The interface may be implemented by clients. Clients may use `PresentationReconciler` as the standard implementation of this interface.

In order to provided backward compatibility for clients of `IPresentationReconciler`, extension interfaces are used to provide a means of evolution. The following extension interface exists:

- `IPresentationReconcilerExtension` since version 3.0 adding support for documents with multiple partitionings.

See Also:
  `IPresentationReconcilerExtension`, `ITextViewer`, `IPresentationDamager`, `IPresentationRepairer`, `TextPresentation`

### Method Summary

All Methods Instance Methods Abstract Methods
`IPresentationDamager` `getDamager​(String contentType)` Returns the presentation damager registered with this presentation reconciler for the specified content type.
`IPresentationRepairer` `getRepairer​(String contentType)` Returns the presentation repairer registered with this presentation reconciler for the specified content type.
`void` `install​(ITextViewer viewer)` Installs this presentation reconciler on the given text viewer.
`void` `uninstall()` Removes the reconciler from the text viewer it has previously been installed on.

### Method Detail

#### install

    void install​(ITextViewer viewer)

Installs this presentation 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.

The `install` and `uninstall` methods must be called in sequence; i.e. repeatedly calling `install` without calling `uninstall` may throw an exception.

Parameters:
  `viewer` - the viewer on which this presentation reconciler is installed

#### uninstall

    void uninstall()

Removes the reconciler from the text viewer it has previously been installed on.

#### getDamager

    IPresentationDamager getDamager​(String contentType)

Returns the presentation damager registered with this presentation reconciler for the specified content type.

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

#### getRepairer

    IPresentationRepairer getRepairer​(String contentType)

Returns the presentation repairer registered with this presentation reconciler for the specified content type.

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