Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / Von Gadgets, Aspects, Brokern und Agents / Aspekte (SwingGadget) / Aspekt: DifferenceVisualizing

Aspekt: DifferenceVisualizing

Aspect: DifferenceVisualizing

Package: de.espirit.firstspirit.ui.gadgets.aspects

Eine Eingabekomponente kann die Fähigkeit besitzen, ihre Inhalte zu markieren. Diese Eigenschaft wird auch für die Markierungen innerhalb der Differenz-Visualisierung (Markierungsarten INSERTED, DELETED und CHANGED) genutzt. Dabei können die Inhalte einer Eingabekomponente (in zwei unterschiedlichen Revisionen) miteinander vergleichen werden. Alle Änderungen von einer Revision zu einer anderen Revision werden innerhalb der Eingabekomponente markiert. Mithilfe des Aspekts DifferenceVisualizing kann die Eingabekomponente auf diese Ereignisse (Setzen einer Änderungs-Markierung) reagieren.

Dieser Aspekt kann der SwingGadget-Implementierung über die Implements-Bedingung und den Aufruf von addAspect(…) im öffentlichen Konstruktor der SwingGadget-Implementierung hinzugefügt werden:

public class mySwingGadget implements DifferenceVisualizing {

...

public mySwingGadget(final SwingGadgetContext<myGomForm> context) {
super(context);
addAspect(DifferenceVisualizing.TYPE, this);
}

...

}

Die SwingGadget-Eingabekomponente muss anschließend die Methode visualizeDifferences(final List<Difference> differences) implementieren. Die erforderliche Liste der Änderungen muss von der Methode List<Difference> contrastWith(final Language language, final Object other) innerhalb der EditorValue-Implementierung geliefert werden (da sich die Änderungen auf die in der Eingabekomponente enthaltenen Werte beziehen). Für den Vergleich einfacher Textwerte kann die Methode der abstrakten Basisimplementierung AbstractEditorValue<T> verwendet werden, für komplexere Werte ist es jedoch notwendig, die Methode contrastWith(…) in der EditorValue-Implementierung der Eingabekomponente zu überschreiben.

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz