Wiki-Quellcode von Pre-persist
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
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}} |