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

Aspekt: IntegrityValidating

Aspect: IntegrityValidating

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

Sofern eine Eingabekomponente Werte eines bestimmten Typs speichern und bearbeiten kann (vgl. Aspekt: ValueHolder<T> und Aspekt: Editable), kann es notwendig sein, die Datenintegrität des Persistenztyps zu prüfen. Mithilfe des Aspekts IntegrityValidating kann eine  Validierung der Werte beim Speichern erfolgen.

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 IntegrityValidating {

...

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

...

}

Des Weiteren muss die Methode Set<? extends Problem> validateIntegrity() implementiert werden, die prüft, ob die Eingabekomponente einen gültigen Persistenztyp enthält. Welche Art der Validierung ausgeführt wird, entscheidet dabei jede Komponente selbst. So kann beispielsweise eine Datums-Eingabekomponente den enthaltenen Wert parsen, um die Eingabe zu validieren:

@NotNull
public Set<? extends Problem> validateIntegrity() {
if (allowsInput()) {
final String input = _component.getText();
try {
final DateFormat dateFormat = getDateFormat();
dateFormat.parse(input);
} catch (final ParseException e) {
return Collections.singleton(new Problem(){…});
}
}
return Collections.emptySet();
}

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