Klassenname des Objekts

Wertauflöser - Kurzfassung

Zweck: Liefert den Klassennamen des als Eingabewert vorliegenden Objekts als Zeichenfolge.

Siehe auch: Klassenname (Berechnungsausdruck)

images/download/attachments/189433188/image-2025-3-18_12-11-16-version-1-modificationdate-1742296275986-api-v2.png

Der Klassenname des Objekts-Wertauflöser liefert den Klassennamen des als Eingabewert vorliegenden Objekts als Zeichenfolge.

Der Rückgabewert für den "Klassennamen" kann vom Ausführungskontext (Client/Server) abhängen:

  • Im Server-Kontext gilt als "Klassenname" der fully qualified class name der konkreten Java-Klasse des Eingabewerts.

  • Obwohl im Client-Kontext (per JavaScript) kein unmittelbarer Bezug zur serverseitigen Java-Klasse gegeben ist, wird auch dort der fully qualified class name der Java-Klasse als "Klassenname" ausgegeben, sofern das Objekt nicht der Wert eines nativen JavaScript-Typs ist (z. B. Boolean, Number oder String).

Liegt "Kein Wert" ($null) als Eingabewert vor, wird anstelle eines Klassennamens auch "Kein Wert" ($null) als "Klassenname" zurückgegeben und nicht etwa eine leere Zeichenfolge ("") oder der Textwert "null".

HINWEIS◄ In vielen Einsatzfällen kann anstelle des Klassenname des Objekts-Wertauflösers auch die entityClass-Variable verwendet werden, um den "Klassennamen" eines Objekts zu ermitteln. Deren String-Abbild liefert oft aber nicht ohne Ausnahmen (z. B. "Typhinweis bei leerem Wert", s. Typprüfung) dieselbe Zeichenfolge wie der Wertauflöser. Allerdings muss das auszuwertende Objekt dazu zwingend als Bezugsobjekt (ggf. im Kontext einer Ausführen mit-Ereignisaktion) vorliegen, während der Klassenname des Objekts-Wertauflöser den Eingabewert berücksichtigt und daher - z. B. auch innerhalb einer Wertauflöserkette - wesentlich flexibler eingesetzt werden kann.

Konfiguration

Der Klassenname des Objekts-Wertauflöser verwendet keine Parameter.

Beispiel

Eine typische Verwendung für den Klassenname des Objekts-Wertauflöser ist der Zugriff auf die Sprachverwaltung bzw. Firmenspezifische Sprachanpassungen.

Für viele Klassen stellt das System Sprachverwaltungseinträge für Lokalisierungen bereit, die als Bundle Name den fully qualified class name verwenden.

Lokalisierungen für den "Klassennamen" findet man dann per Konvention unter dem Resource Name $name. Ergänzend ist ggf. ein Resource Name $pluralName für die Mehrzahl vorgesehen.

Der Klassenname des Objekts-Wertauflöser kann also im Kontext eines Wert aus Sprachverwaltung-Wertauflösers herangezogen werden, um den (ggf.) lokalisierten Klassennamen heranzuziehen.

Im folgenden Beispiel soll beim Erstellen und bei Löschen einer Entität eines beliebigen Typs eine E-Mail versendet werden, in deren "Betreff" der Entitätstyp unter Berücksichtigung einer Lokalisierung für den Klassennamen angegeben wird.

Laufzeitbeispiel:

images/download/attachments/189433188/image-2025-3-18_15-57-24-version-1-modificationdate-1742309844069-api-v2.png

Konfiguration:

Der Screenshot rechts zeigt die Konfiguration für eine Ereignisbehandlung im Überblick, die auf die Auslösenden Ereignisse "Löschen" und "Erstellen" (s. Allgemein (Ereignisse)) reagiert.


Als Prüfende Regel dient hier eine UND-Verknüpfung von zwei Instanzen der Typprüfung konfiguriert:

  • Die erste Typprüfung prüft auf den allen Entitätstypen übergeordneten Typ "Entität" (Entity). Diese Prüfung ist eigentlich überflüssig, da die Auslösenden Ereignisse exklusiv für Entitätstypen relevant sind. Allerdings wird hier aus formalen Gründen auf den Typhinweis "Entität" für die Aktion bei bestandener Regel Wert gelegt.

  • Die zweite verneinte Typprüfung schließt den Entitätstyp "E-mail" (Mail) von der E-Mail-Benachrichtigung aus, was sehr wichtig ist, denn die E-Mail-Versand-Ereignisaktion löst nicht nur den Versand von Nachrichten aus, sondern kann außerdem das "Erstellen" von E-Mails als Entität auslösen, was ohne dieses Ausschlusskriterium das Versenden und ggf. Erstellen weiterer E-Mails zu einer Endlosschleife führen könnte.


Als einzige Aktion bei bestandener Regel ist eine E-Mail-Versand-Ereignisaktion vorgesehen. Da keine weiteren Ereignisaktionen vorhanden sind, müssen alle Aufbereitungsschritte für Inhalte und die Adressierung der E-Mail innerhalb der Konfiguration für diese Ereignisaktion entweder statisch oder über Wert-Konfigurationen für vorgesehene Parameter erfolgen.

images/download/attachments/189433188/image-2025-3-18_16-6-37-version-1-modificationdate-1742310396448-api-v2.png

Für den Kontext des vorliegenden Beispiels interessiert aus den zahlreichen Parametern für die E-Mail-Versand-Ereignisaktion ausschließlich die Wert-Konfiguration für den Betreff, für den ein Textwert erwartet wird.

Der Screenshot rechts zeigt eine Wertauflöserkette, durch die die Lokalisierung für den Entitätstyp über den Klassenname des Objekts-Wertauflöser im Kontext eines Textverkettung-Wertauflösers eingebunden wird:

  • Im Wert aus Sprachverwaltung-Wertauflöser wird der Parameter Bundle unmittelbar an den Rückgabewert des Klassenname des Objekts-Wertauflösers gebunden. Dieser liefert für jede Entität den fully qualified class name, der systematisch auch der Bundle-Name ist.

  • Für den Parameter Resource ist als statischer Text die Zeichenfolge $name eingesetzt, die per Konvention für die Lokalisierung des Klassennamens von Entitätstypen dient.

  • Der Parameter Standardwert ist nur relevant, falls für eine Bundle/Resource-Kombination (noch) keine anwendbare Lokalisierung zugeordnet sein sollte. In diesem Fall soll nur der letzte Abschnitt aus dem fully qualified class name im Betreff erscheinen, also der Klassenname im engeren Sinn (ohne Informationen zum Package bzw. Namespace):

    • Der Rückgabewert des Klassenname des Objekts-Wertauflösers wird zu diesem Zweck durch den verketteten Text aufteilen-Wertauflöser mit dem Separator (Trennzeichen) "." zunächst in eine Liste von Teilstrings gesplittet.

    • Danach greift der verkettete Listenwert-Wertauflöser auf den letzten Eintrag (Modus "Wert (vom Ende)") dieser "Liste" zu.

  • Nach einer statischen Trennzeichenfolge (" / " als Text) wird dann nur noch der Rückgabewert des Auslösendes Ereignis-Wertauflösers an den Betreff angehängt. Hier wird ausdrücklich auf eine Lokalisierung verzichtet, da im Server-Kontext die interen Namen der betreffenden Ereignisse in der zugehörigen statischen Aufzählung als DELETE und CREATE vordefiniert sind und diese Begriffe den Vorgang allgemeinverständlich charakterisieren.

images/download/attachments/189433188/image-2025-3-18_16-28-50-version-1-modificationdate-1742311729388-api-v2.png