Interface IPresentationReconciler

All Superinterfaces:
ITextViewerLifecycle
All Known Implementing Classes:
PresentationReconciler

public interface IPresentationReconciler extends ITextViewerLifecycle
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:

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    getDamager(String contentType)
    Returns the presentation damager registered with this presentation reconciler for the specified content type.
    getRepairer(String contentType)
    Returns the presentation repairer registered with this presentation reconciler for the specified content type.
    void
    Installs this presentation reconciler on the given text viewer.
    void
    Removes the reconciler from the text viewer it has previously been installed on.
  • Method Details

    • 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.

      Specified by:
      install in interface ITextViewerLifecycle
      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.
      Specified by:
      uninstall in interface ITextViewerLifecycle
    • 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