Wiki-Quellcode von Pre-persist


Zeige letzte Bearbeiter
1 {{content/}}
2
3 == Schnittstelle: IPluginFormPrePersist ==
4
5 {{figure image="plugin_prepersist.png" width="500"}}
6 Einordnung des PrePersist-Plugins in die {{formcycle/}} Prozesskette.
7 {{/figure}}
8
9 === Verwendungsmöglichkeiten ===
10
11 Bietet eine Möglichkeit zum Einbau einer individuellen Prüfung, ob Daten abgespeichert werden sollen.
12
13 Wenn nicht, dann kann ein Abbruch der weiteren Datenverarbeitung an dieser Stelle bewirkt werden.
14
15 {{warning}}
16 Bei Verwendung mehrerer Formular-PrePersists-Implementierungen ist die Reihenfolge nicht fest, in der diese ausgeführt werden. Die Reihenfolge kann daher jedesmal anders sein.
17 {{/warning}}
18
19 {{warning}}
20 Die //Formular-PrePersistierer// werden grundsätzlich vor jedem Formularaufruf im jeweiligen Anwendungsbereich (System- oder Mandant-Plugin), in dem sie installiert wurden, ausgeführt. Es wird empfohlen, in der Implementierungslogik als erstes zu prüfen, ob der //PrePersistierer// für die jeweilige Formularverarbeitung ausgeführt werden soll. Dies lässt sich beispielsweise mittels Einsatz von //Bundle-Properties// konfigurierbar gestalten.
21 {{/warning}}
22
23 === Methodensignaturen ===
24
25 {{panel title="{{code language='java'~}~}IPluginFormPrePersistRetVal execute(IPluginFormPrePersistParams params) throws FCPluginException{{/code~}~}" triggerable="true" fullwidth="true"}}
26
27 **Übergabewert:**
28 Der Typ //IPluginFormPrePersistParams// stellt mit der Methode **getFormRequestContext()** den Zugriff auf die //IFormRequestContext//-Schnittstelle und damit auf folgende Eigenschaften bereit:
29 * **getCurrentBenutzer():** den aktuellen Benutzer
30 * **getUserContext():** den aktuellen Nutzerkontext, um beispielsweise Datenbankoperationen ausführen zu können
31 * **getProjekt():** das aktuelles Projekt
32 * **getMandant():** der aktuelle Mandant
33 * **getVorgang():** den aktueller Vorgang
34 * **getFormVersion():** die aktuelle Version des Formulars mit dem Zugriff auf alle enthaltenen Formular-Elemente
35 * **getLocale():** Informationen zur aktuell gewählte Sprache und Region
36 * **getSessionAttributeMap():** eine Map mit den aktuellen Session-Parametern
37 * **getFrontendServer():** Zugriff auf das Frontend-Server-Objekt, wenn Aufruf über Frontend-Server
38
39 **Rückgabewerte:**
40
41 Der Rückgabewert muss vom Typ //IPluginFormPrePersistRetVal// sein.
42 Eine Referenzimplementierung wird durch die Klasse //PluginGenericFormProcessingRetVal// bereitgestellt. Bei der Initialisierung erwartet diese einen boolschen Wert.
43 : //true//
44 :: Die weitere Verarbeitung in {{formcycle case="dat"/}} wird fortgesetzt.
45 : //false//
46 :: Die weitere Verarbeitung in {{formcycle case="dat"/}} wird abgebrochen.
47
48 {{/panel}}