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:

    See Also:
    IPresentationReconcilerExtension, ITextViewer, IPresentationDamager, IPresentationRepairer, TextPresentation
    • 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