Implementierung von
Java-Funktionen
Message-Mappings und Mapping-Vorlagen untertützen eine Vielzahl von Standardfunktionen, die im Datenfluss-Editor angeboten werden. Mit einer benutzerdefinierten Java-Funktion erweitern Sie den Umfang der dort angebotenen Funktionen um eigene, auf Ihre Anforderungen zugeschnittene Funktionen. Sie speichern Funktionen in Funktionsbibliotheken:
● Lokale Funktionsbibliotheken sind Teil von Message-Mappings und Mapping-Vorlagen. Funktionen dieser Bibliotheken sind nur in dem zugehörigen Message-Mapping oder der zugehörigen Mapping-Vorlage sichtbar.
● Von Message-Mappings oder Mapping-Vorlagen unabhängige Funktionsbibliotheken legen Sie als eigenen Objekttyp im ES Repository an. Die Funktionen dieser Funktionsbibliotheken können Sie in Message-Mappings oder Mapping-Vorlagen der gleichen oder einer überliegenden (lokalen) Funktionsbibliohtek verwenden (mit „(lokale) Funktionsbibliothek“ ist zusammenfassend die lokale als auch die unabhängige Funktionsbibliothek gemeint).

Zusätzlich können Sie in (lokalen) Funktionsbibliotheken die Methoden mit den festgelegten Namen init() und cleanUp()implementieren, die von der Mapping-Laufzeit vor beziehungsweise nach dem Aufruf des gesamten Mapping-Programms ausgeführt werden.
Alle benutzerdefinierte Funktionen in (lokalen) Funktionsbibliotheken können auf folgende Objekte der Mapping-Laufzeit zugreifen:
Zugriff auf Standardobjekte in benutzerdefinierten Funktionen
Objekt |
Verwendung |
Mit diesem Objekt können Sie Werte zwischenspeichern, die Sie beim nächsten Aufruf der gleichen benutzerdefinierten Funktion wieder auslesen wollen. |
|
Mit diesem Objekt können Sie Werte zwischenspeichern, die Sie beim nächsten Aufruf einer beliebigen benutzerdefinierten Funktion des gleichen Message-Mappings wieder auslesen wollen. |
|
Mit diesem Objekt können Sie einem Container Informationen für den Mapping-Trace während des Mappings übergeben, den sich Benutzer im Message-Monitoring anschauen können. |
Sie können zusätzlich auf Funktionen von Standard-Java-Paketen oder importierten Archiven zugreifen (siehe auch: Verwendete Archive und Import-Liste).
Sie haben entweder eine Funktionsbibliothek, ein Message-Mapping oder eine Mapping-Vorlage im ES Repository angelegt. Der Editor für Message-Mappings und der Editor für Mapping-Vorlagen hat eine Registerkarte Funktionen, deren Funktionen der ES Builder in einer Funktionsbibliothek speichert, die lokal im Message-Mapping beziehungsweise in der Mapping-Vorlage sichtbar ist. Die Oberfläche dieser Registerkarte ist die gleiche wie die von Funktionsbibliotheken.
...
1. Tragen eine neue Funktion in der Funktionsübersicht ein und legen Sie auf der Registerkarte Eigenschaften deren Funktionseigenschaften fest (siehe auch: Funktionsübersicht und Funktionseigenschaften).

Bei Message-Mappings und
Mapping-Vorlagen können Sie im Datenfluss-Editor alternativ Neue Funktion anlegen (
) wählen. Sie legen dann die
Funktionseigenschaften und den Quelltext der Funktion in einem Dialogfenster
fest. Die Funktion wird automatisch in die lokale Funktionsbibliothek
übernommen.
Für die Bearbeitung der Funktion wird im folgenden davon ausgegangen, dass Sie sich auf der Registerkarte Funktionen beziehungsweise in einer Funktionsbibliothek befinden.
2. Beachten Sie die Einführungshinweise für Java-Mappings, die ebenso für Java-Funktionen in (lokalen) Funktionsbibliotheken gelten.
3. Erfassen Sie den Quelltext der Funktion im Quelltext-Editor rechts unten im Funktionsbibliothek-Editor. Sie können alternativ auch die zur Funktionsbibliothek gehörende Klasse exportieren, um sie mit einem externen Werkzeug zu bearbeiten (siehe auch: Funktionsbibliotheken).
4. Beachten Sie für Funktionen der Ausführungsart Alle Werte eines Kontext oder Alle Werte einer Queue die Bedeutung der Werte und den konsistenten Aufbau von Queues (siehe auch: Erweiterte benutzerdefinierte Funktionen).
5. Wenn Sie globale Variablen oder globale Hilfsmethoden für Ihre Java-Funktion benötigen, erfassen Sie diese im Qelltext-Editor für den Java-Bereich Attribute und Methoden.
6. Geben Sie in Ihrer Java-Funktion einen Ergebniswert zurück. Java-Funktionen der Ausführungsart Einzelwerte müssen einen Ergebniswert zurückgeben, Java-Funktionen der Ausführungsart Alle Werte eines Kontexts und der Ausführungsart Alle Werte einer Queue müssen ein Objekt vom Typ ResultList zurückgeben.
Sie haben eine Java-Funktion in Ihrer Funktionsbibliothek implementiert.
Wenn es sich um eine lokale Funktionsbibliothek handelt, ist die Funktion unmittelbar im Datenfluss-Editor des Message-Mappings beziehungsweise im Datenfluss-Editor der Mapping-Vorlage in der Funktionskategorie sichtbar, die Sie der Java-Funktion in den Funktionseigenschaften zugewiesen haben.
● Um die Java-Funktion auch in anderen Message-Mappings beziehungsweise Mapping-Vorlagen verwenden zu können, müssen Sie die Funktionen der lokalen Funktionbibliothek in eine unabhängige Funktionsbibliothek übertragen (siehe auch: Funktionen einer lokalen Funktionsbibliothek kopieren).
● Wenn es sich bereits um eine unabhängige Funktionsbibliothek handelt, können Sie die Java-Funktion in jedem Message-Mapping oder jeder Mapping-Vorlage der gleichen oder einer übergeordneten Software-Komponentenversion verwenden (siehe auch: Java-Funktionen von Funktionsbibliotheken verwenden).