Interface IPresentationReconciler
- All Superinterfaces:
ITextViewerLifecycle
- All Known Implementing Classes:
PresentationReconciler
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.
-
Method Summary
Modifier and TypeMethodDescriptiongetDamager
(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
install
(ITextViewer viewer) 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
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 untiluninstall
is called.The
install
anduninstall
methods must be called in sequence; i.e. repeatedly callinginstall
without callinguninstall
may throw an exception.- Specified by:
install
in interfaceITextViewerLifecycle
- 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 interfaceITextViewerLifecycle
-
getDamager
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
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
-