Auslösendes Ereignis
Wertauflöser - Kurzfassung
Zweck: Identifiziert das Ereignis, das zur Laufzeit die Ausführung der aktuellen Ereignisbehandlung ausgelöst hat.
Der Auslösendes Ereignis-Wertauflöser identifiziert das Ereignis, das zur Laufzeit die Ausführung der aktuellen Ereignisbehandlung ausgelöst hat.
Der Rückgabewert ist das auslösende Ereignis (s. Ereignisse). Der Typ des Rückgabewerts wird in der Konfiguration als "Schnittstelle > zu Aktionsereignissen" angegeben, da zur Laufzeit auslösende Ereignisse unterschiedlicher Typen vorkommen können. Grundsätzlich sind dabei zwei Kategorien von echten Ereignissen zu unterscheiden:
Vordefinierte Ereignisse sind je nach Kategorie unterschiedlichen Statischen Aufzählungen zugeordnet. Jede Statische Aufzählung liefert dabei Ereignisse eines spezifischen konkreten Typs, z. B. "Allgemein" (de.lobster.scm.actionevent.CommonActionEvent).
Eigene Aktionsevents werden in der zugehörigen Dynamischen Aufzählung (Eigenes Aktionsevent) verwaltet. Der konkrete Typ von Eigenen Aktionsevents ist immer "Eigenes Aktionsevent" (de.lobster.scm.actionevent.CustomActionEvent).
Spezifische Wertauflöser ("Jede statische Aufzählung" bzw. "Jede dynamische Aufzählung", s. Statische Werte) definieren statische Werte aus den jeweiligen Aufzählungen, die in Regeln mit dem Rückgabewert des Auslösendes Ereignis-Wertauflösers verglichen werden können.
Als String-Abbildung für ein vom Auslösendes Ereignis-Wertauflösers zurückgegebenes "Ereignis" erscheint der interne "Name" (name) des jeweiligen Ausfzählungswerts, also z. B. "CREATE" für das vordefinierte Ereignis "Erstellen" aus der Kategorie Allgemein (Ereignisse)). Dieser interne Name kann als Information ausreichen, um in einer Hinweis anzeigen (Popup)-Ereignisaktion über das auslösende Ereignis zu informieren. Die Verwendung dieses Namens anstelle des Aufzählungswerts in einer Regel, die das auslösende Ereignis eindeutig identifizieren bzw. mit einer Liste von Vergleichswerten abgleichen soll, ist allerdings nur bedingt zu empfehlen, da es keinen Mechanismus gibt, der verhindert, dass ein interner Name aus einer Statischen Aufzählung für vordefinierte Ereignisse auch als Name für ein Eigenes Aktionsevent verwendet wird. Der Name identifiziert das Ereignis also nicht notwendigerweise eindeutig, wenn nicht zusätzlich eine Typprüfung für den Rückgabewert erfolgt.
►HINWEIS◄ Im Zuge von Tests für Ereignisbehandlungen kann das auslösende Ereignis (über den Parameter "Aktionsevent") explizit ausgewählt werden. Falls der Auslösendes Ereignis-Wertauflöser innerhalb der Konfiguration der Ereignisbehandlung verwendet wird, können so spezifische Tests für jedes relevante auslösende Ereignis definiert werden. Als Standardwert für Tests, deren Definition kein "Aktionesevent" angibt, wird automatisch das "virtuelle" Ereignis TESTING (mit dem Typ de.lobster.scm.utils.testing.TestingManager$TestEvent) erzeugt.
Konfiguration
Der Wertauflöser verwendet keine Parameter und ignoriert den Eingabewert.
Beispiele
Lokalisierte Benachrichtigung über das auslösende Ereignis
Eine Ereignisbehandlung, die durch Ereignisse aus unterschiedlichen Kategorien ausgelöst werden kann, soll eine Benachrichtigung erzeugen, die die Lokalisierung für das auslösende Ereignis für die Aktuelle Sprache anzeigt.
Der Titel der Nachricht soll per Lokalisierung für die Aktuelle Sprache auf den konkreten Typ des Ereignisses hinweisen.
Laufzeitbeispiele:
Vordefiniertes Ereignis aus der Kategorie Nummernkreis (Ereignisse):
-
Standard-Ereignis (in Tests):
Konfiguration:
Im Aktionsteil einer Ereignisbehandlung soll der Benutzer durch eine Hinweis anzeigen (Popup)-Ereignisaktion über das auslösende Ereignis informiert werden. Wie rechts ersichtlich, wird die Hinweis anzeigen (Popup)-Ereignisaktion innerhalb einer Ausführen mit-Ereignisaktion platziert, die im Objekt Resolver den Auslösendes Ereignis-Wertauflöser verwendet. Dies ist einerseits nützlich, weil der "Titel" und die "Meldung" abhängig vom auslösenden Ereignis definiert werden sollen. Andererseits - und das ist hier besonders wichtig - wird die Variable entityClass für den Aktionsblock der Ausführen mit-Ereignisaktion automatisch mit dem Namen des konkreten Typs des auslösenden Ereignisses belegt, der zum Abrufen der Lokalisierungen in der Hinweis anzeigen (Popup)-Ereignisaktion (s. unten) benötigt wird. |
|
Die Hinweis anzeigen (Popup)-Ereignisaktion muss wie rechts abgebildet konfiguriert werden, damit die gewünschten Lokalisierungen (oder ggf. Standardwerte) in der Benachrichtigung erscheinen:
|
|