Wiki-Quellcode von Vor Beginn Statusverarbeitung
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{content/}} | ||
2 | |||
3 | == Schnittstelle: IPluginFormPreProcess == | ||
4 | |||
5 | === Verwendungsmöglichkeiten === | ||
6 | |||
7 | Möglichkeit zum Einbau einer individuellen Prüfung, welche nach dem Abspeichern der Formulardaten in der Datenbank, aber vor Beginn der Statusverarbeitung durchgeführt werden kann. | ||
8 | |||
9 | Damit könnte zum Beispiel bewirkt werden, dass die Verarbeitung von Formulardaten innerhalb der Statusverarbeitung umgangen wird, aber die eingegeben Formulardaten trotzdem in der Datenbank abgespeichert werden. | ||
10 | |||
11 | {{warning}} | ||
12 | Bei Verwendung mehrerer Formular-PreProcess-Implementierungen ist die Reihenfolge nicht fest, in der diese ausgeführt werden. Die Reihenfolge kann daher jedesmal anders sein. | ||
13 | {{/warning}} | ||
14 | |||
15 | {{warning}} | ||
16 | Die Formular-PreProcess-Implementierungen werden grundsätzlich vor jedem Formularaufruf im jeweiligen Anwendungsbereich (System- oder Mandant-Plugin), in dem sie installiert wurden, ausgeführt. Es wird deshalb empfohlen, in der Implementierungslogik als erstes zu prüfen, ob die //PreProcess//-Implementierung für die jeweilige Formularverarbeitung ausgeführt werden soll. Dies lässt sich beispielsweise mittels Einsatz von //Plugin-Properties// konfigurierbar gestalten. | ||
17 | {{/warning}} | ||
18 | |||
19 | {{figure image="plugin_preprocess.png" width="400"}} | ||
20 | Einordnung des //PreProcess//-Plugins in die Prozesskette von {{formcycle case="dat"/}} | ||
21 | {{/figure}} | ||
22 | |||
23 | === Methodensignaturen === | ||
24 | |||
25 | {{code language="java"}} | ||
26 | IPluginFormPreProcessRetVal execute(IPluginFormPreProcessParams params) throws FCPluginException | ||
27 | {{/code}} | ||
28 | |||
29 | == Übergabewert == | ||
30 | |||
31 | Der Typ //IPluginFormPreProcessParams// stellt den Zugriff auf folgende Eigenschaften bereit: | ||
32 | |||
33 | * aktuelles Projekt | ||
34 | * aktueller Vorgang | ||
35 | * aktuelle Version des Formulars mit dem Zugriff auf alle enthaltenen Formularelemente | ||
36 | * Sessionparameter | ||
37 | * aktueller Nutzerkontext um beispielsweise Datenbankoperationen ausführen zu können | ||
38 | |||
39 | == Rückgabewerte == | ||
40 | |||
41 | Der Rückgabewert muss vom Typ //IPluginFormPreProcessRetVal //sein. Eine Referenzimplementierung wird durch die Klasse //PluginGenericFormProcessingRetVal// bereitgestellt. | ||
42 | |||
43 | Bei der Instanziierung eines entsprechenden Objektes wird eine boolsche Flagge erwartet. Hat diese den Wert //true//, wird die weitere Verarbeitung in {{formcycle case="dat"/}} fortgesetzt. Bei //false// wird die Verarbeitung abgebrochen. |