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

Aspekt: ValueHolder<T>

Aspect: ValueHolder<T>

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

Abhängig von der SwingGadget-Implementierung kann eine Eingabekomponente die Fähigkeit haben, Werte zu speichern. Nach der Umstellung der Komponentenentwicklung auf SwingGadgets werden die EditorValues (siehe Das Interface EditorValue) nicht mehr direkt an die Implementierung der Eingabekomponente übergeben (wie in FirstSpirit 4), sondern intern nur noch über den typisierten Aspekt ValueHolder<T> behandelt, , wobei der Parameter Typ <T> immer der Daten-Container-Typ des ValueEngineer<T> ist (siehe Das Interface ValueEngineer<T>) und zum Wertetyp der zugehörigen SwingGadget-Implementierung passen muss. Das umliegende FirstSpirit-Gadget-Framework behandelt dann alle weiteren Funktionen, beispielsweise das persistente Speichern des Wertes.

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

public class mySwingGadget implements ValueHolder<T> {

...

public mySwingGadget(final SwingGadgetContext<myGomForm> context) {
super(context);
// type-safe value holder registration
addAspect(ValueHolder.TYPE, this);
}

...

}

oder wird bei Erweiterung der abstrakten Basisimplementierung
AbstractValueHoldingSwingGadget<T, F extends GomFormElement> geerbt:

public class mySwingGadget
extends AbstractValueHoldingSwingGadget<myValueType, myGomForm>{
...
}

Beispiel zur Verwendung des Aspekts siehe SwingGadgets und die Verwendung von Standard-Aspekten.

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