Zeige letzte Bearbeiter
1 {{content/}}
2
3 == Schnittstelle IPluginSessionReplacer ==
4
5 === Verwendungsmöglichkeiten ===
6
7 {{figure image="plugin_platzhalterersetzung_session.png" width="400" clear="h3"}}
8 Einordnung des Platzhalterersetzungs-Plugins von //Session//-Parametern in die Prozesskette von {{formcycle case="dat"/}}
9 {{/figure}}
10
11 Der Session-Platzhalterersetzer ist eine spezielle Form des System-Platzhalterersetzers, welcher bei der Auslieferung eines Templates an den Browser zur Anwendung kommt. Er wird nach allen anderen Platzhalterersetzern ausgeführt und dient zum Einfügen von Werten, die nur innerhalb einer Formularsitzung Gültigkeit besitzen sollen, z.B. zeitlich beschränkte Links.
12
13 Bei der Platzhalterersetzung wird nach folgendem Muster gesucht und durch den entsprechende Wert ersetzt:
14
15 {{code language="none"}}
16 [%$<Platzhaltername>%]
17 {{/code}}
18
19 {{warning}}
20 Bei Verwendung mehrerer SessionReplacer-Implementierungen ist die Reihenfolge nicht fest, in der diese ausgeführt werden. Die Reihenfolge kann daher jedesmal anders sein.
21 {{/warning}}
22
23 {{warning}}
24 Die SessionReplacer-Implementierungen werden grundsätzlich bei jeder Templateauslieferung im jeweiligen Anwendungsbereich (System- oder Mandant-Plugin) ausgeführt, in dem sie installiert wurden. Es wird deshalb empfohlen, innerhalb der Implementierungs-Logik als erstes zu prüfen, ob der //SessionReplacer// für die aktuelle Prozessverarbeitung ausgeführt werden soll. Dies lässt sich beispielsweise mittels Einsatz von //Plugin-Properties// konfigurierbar gestalten.
25 {{/warning}}
26
27 === Methodensignaturen ===
28
29 Die Plugin-Schnittstelle //IPluginSessionReplacer// referenziert alle durch die [[Basis-Schnittstelle IFCPlugin>>doc:IFCPlugin]] bereitgestellten Methoden
30 und zusätzlich noch folgende Plugin-spezifische Methodensignaturen:
31
32 {{panel title="{{code language='java'~}~}IPluginSessionReplacerRetVal replace(IPluginSessionReplacerParams params) throws FCPluginException{{/code~}~}" triggerable="true" fullwidth="true"}}
33
34 **Übergabewert:**
35 Der Typ //IPluginSessionReplacerParams// stellt den Zugriff auf folgende Eigenschaften bereit:
36 * **getPlaceholder()** kompletten String des Platzhalters (dies schließt den Markup des Platzhalters mit ein)
37 * **getPlaceholderContent()** Inhalt des Platzhalters (ohne typ-spezifischen Markup)
38 * **getEntityContext()** aktueller Nutzerkontext, um beispielsweise Datenbankoperationen ausführen zu können
39 * **getVorgang()** den aktuellen Vorgang
40 * **getSessionId()** die Session-ID
41 * **getContextName()** den Kontextnamen der Anwendung
42
43 **Rückgabewerte:**
44 Der Rückgabewert muss vom Typ //IPluginSessionReplacerRetVal// sein. Eine Referenzimplementierung wird durch die Klasse //PluginGenericReplacerRetVal// zur Verfügung gestellt, welche mit dem erzeugten Ersetzungswert zu initialisieren ist.
45 {{/panel}}