Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / Von Gadgets, Aspects, Brokern und Agents / Wertespeicherung (EditorValue, ValueEngineer) / Das Interface ValueEngineerFactory
Das Interface ValueEngineerFactory
Package: de.espirit.firstspirit.client.access.editor
Das Interface ValueEngineerFactory<T, F extends GomFormElement> ist eine Factory, die zur Erzeugung eines neuen typisierten Objekts vom Typ ValueEngineer<T> dient (siehe Das Interface ValueEngineer<T>).
Das Interface ist typisiert, d. h. der zu verwaltende Wertetyp (Persistenztyp) und das zugehörige Formular-Element werden über die (Java 5) Generics-Funktionalität innerhalb der einzelnen Implementierungen festgelegt.
- Class<T> getType():
Damit das SwingGadget mit dem korrekten Persistenztyp des zugehörigen EditorValues arbeitet, ist innerhalb der ValueEngineerFactory-Implementierung zunächst die Angabe des Persistenztyps erforderlich. Dazu muss die Methode Class<T> getType() implementiert werden. Die Methode liefert die Klasse zurück, die den Persistenztyp der Eingabekomponente repräsentiert, wobei der Parameter Typ T zum Daten-Container-Typ des EditorValue<T> (siehe Das Interface EditorValue) und zum Wertetyp der zugehörigen SwingGadget-Implementierung (siehe Aspekt: ValueHolder<T>) passen muss (siehe auch Wertetypen). - ValueEngineer<T> create(ValueEngineerContext<F> context): Die Methode dient zur Erzeugung einer neuen Instanz vom Typ ValueEngineer<T> (siehe Das Interface ValueEngineer<T>). Der Methode wird ein typisierter ValueEngineerContext<F> übergeben, wobei der Parameter F den Typ des zugehörigen Formular-Elements (GOMForm) bezeichnet (siehe Das Interface ValueEngineerContext<F extends GomFormElement>). Der Kontext enthält weitere Informationen (Formular, Sprache, Release-Flag, SpecialistsBroker), die abhängig vom Funktionsumfang der Eingabekomponente, bei der weiteren Implementierung benötigt werden (beispielsweise zur Erzeugung von Referenzen). Die Factory verknüpft so die Implementierung der Persistenz einer Eingabekomponente mit dem zugrundeliegenden Formular-Element (GOM-Form).