Platzhalterersetzung (Formularwerte)


IPluginFormReplacer

Verwendungsmöglichkeiten

Einordnung des Platzhalterersetzungs-Plugins für Formularwerte in die Prozesskette von Xima® Formcycle

Eine Implementierung der Schnittstelle IPluginFormReplacer ermöglicht es, eigene Ersetzungslogik für den Platzhalter-Ersetzungsprozess von Formularelementen zu integrieren.
Die Eigenimplementierungen werden dabei vor dem internen Platzhaltersetzungsprozess von Xima® Formcycle durchgeführt.
Dadurch ist es beispielsweise auch möglich, systeminterne Formularplatzhalter durch eine Eigenimplementierung zu ersetzen.

Bei der Ausführung der Platzhalter-Ersetzung wird nach folgendem Muster gesucht und der Platzhalter durch den entsprechenden Formularwert ersetzt:

[%<Eigener Platzhalterbezeichner oder Name eines Formularfeldes>%]

Bei Verwendung mehrerer IPuginFormReplacer-Implementierungen ist deren Ausführungs-Reihenfolge nicht fest hinterlegt. Dadurch kann es bei mehrfacher Ausführung zu unterschiedlichen Ergebnissen kommen.

Die IPluginFormReplacer-Implementierungen werden grundsätzlich bei jedem Formularaufruf im jeweiligen Anwendungsbereich (System- oder Mandant-Plugin) ausgeführt, in dem sie installiert wurden. Es wird deshalb empfohlen, in der Implementierungslogik als erstes zu prüfen, ob der IPluginFormReplacer für die jeweilige Formularverarbeitung ausgeführt werden soll. Dies lässt sich beispielsweise mittels Einsatz von Plugin-Properties konfigurierbar gestalten.

Methodensignaturen

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

IPluginFormReplacerRetVal replace(IPluginFormReplacerParams params) throws FCPluginException

Übergabewert: Der Typ IPluginFormReplacerParams 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)
  • getFormversion() die aktuelle Formular-Version
  • getFormDataAdapter() den Formular-Daten-Adapter, als Schnittstelle zu den konkreten Formulardaten sowie deren Beschreibung
  • isEncodeForHTML() Flag welches bestimmt, ob die Rückgabe HTML-konform codiert werden soll
  • getEntityContext() aktueller Nutzerkontext, um beispielsweise Datenbankoperationen ausführen zu können
Rückgabewerte: Der Rückgabewert muss vom Typ IPluginFormReplacerRetVal sein. Eine Referenzimplementierung wird durch die Klasse PluginGenericReplacerRetVal zur Verfügung gestellt, welche mit dem erzeugten Ersetzungswert zu initialisieren ist.