Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / Beispiel: Implementierung einer Eingabekomponente / NotifyValueChange - Änderungen propagieren / Den Aspekt ChangeManaging verwenden

Den Aspekt ChangeManaging verwenden

Dieser Aspekt sollte immer dann verwendet werden, wenn ein einfacher „Equals“-Vergleich des zuletzt gespeicherten Wertes mit dem aktuell im SwingGadget enthaltenen Wert mithilfe von getValue() zu teuer ist und/oder es eine performantere Implementierung zur Änderungserkennung gibt.

Beispiel DOM-Editor: Die FirstSpirit-Eingabekomponente CMS_INPUT_DOM implementiert einen Undo-Manager, der alle Änderungen innerhalb der Eingabekomponente seit dem letzten Speichervorgang enthält. Statt dem vom Framework durchgeführten „Equals“-Vergleich, kann hier anhand der vorhandenen Implementierung überprüft werden, ob eine Änderung stattgefunden hat. Ist die Undo-Liste des DOM-Editors leer, muss keine Änderung gespeichert werden.

Um die vom Framework durchgeführte, simple „Equals“-Prüfung und damit den wiederholten Aufruf von getValue() zu umgehen, sollte die SwingGadget-Implementierung den Aspekt ChangeManaging implementieren. Dazu muss der Aspekt ChangeManaging innerhalb der SwingGadget-Implementierung hinzugefügt und die Methoden des Interfaces implementiert werden.

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