Platzhalterersetzung (Session)


Schnittstelle IPluginSessionReplacer

Verwendungsmöglichkeiten

Einordnung des Platzhalterersetzungs-Plugins von Session-Parametern in die Prozesskette von Xima® Formcycle

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.

Bei der Platzhalterersetzung wird nach folgendem Muster gesucht und durch den entsprechende Wert ersetzt:

[%$<Platzhaltername>%]

Bei Verwendung mehrerer SessionReplacer-Implementierungen ist die Reihenfolge nicht fest, in der diese ausgeführt werden. Die Reihenfolge kann daher jedesmal anders sein.

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.

Methodensignaturen

Die Plugin-Schnittstelle IPluginSessionReplacer referenziert alle durch die Basis-Schnittstelle IFCPlugin bereitgestellten Methoden
und zusätzlich noch folgende Plugin-spezifische Methodensignaturen:

IPluginSessionReplacerRetVal replace(IPluginSessionReplacerParams params) throws FCPluginException

Übergabewert: Der Typ IPluginSessionReplacerParams stellt den Zugriff auf folgende Eigenschaften bereit:
  • getPlaceholder() kompletten String des Platzhalters (dies schließt den Markup des Platzhalters mit ein)
  • getPlaceholderContent() Inhalt des Platzhalters (ohne typ-spezifischen Markup)
  • getEntityContext() aktueller Nutzerkontext, um beispielsweise Datenbankoperationen ausführen zu können
  • getVorgang() den aktuellen Vorgang
  • getSessionId() die Session-ID
  • getContextName() den Kontextnamen der Anwendung
Rückgabewerte: 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.