Regeltypen - Kurzfassung
Zweck: Gilt als "bestanden", wenn der Typ des Bezugsobjekts (oder als Fallback ein Typhinweis laut Variable
entityClass) den parametrierten Prüfkriterien ("Typ" und/oder "Ist Liste von") entspricht.Tooltip
Verwendung: Die Typprüfung prüft, ob das Bezugsobjekt oder (bei ausgewählter Option Typhinweis bei leeren Wert prüfen) als Fallback die Variable
entityClassmit der Parametrierung für Typ und Ist Liste von "kompatibel" ist.Parameter:
Der Parameter Typ definiert per Auswahlfeld statisch den Objekttyp dem das akzeptierte Bezugsobjekt bzw. die
entityClassals "Typhinweis" entsprechen muss.Die Option Typhinweis bei leerem Wert prüfen regelt, ob im Kontext einer Übersicht ohne Auswahl die
entityClassals "Typhinweis" geprüft werden soll.Die Option Ist Liste von regelt, ob eine Liste von Objekten des per Auswahl bestimmten oder unbestimmten Typs als Bezugsobjekt akzeptiert werden soll.
Hinweis: Für den Parameter Typ können auch übergeordnete Typen (z. B. "Entität" oder "Schnittstelle > Benutzer") ausgewählt werden, die unterschiedliche konkrete Entitätstypen abdecken.
Eine Typprüfung-Regel führt einen Vergleich zwischen dem Eingangsobjekt und einem innerhalb der Konfiguration der Regel per Einfachauswahl festgelegten Typ aus.

►HINWEIS◄ Dasselbe Objekt kann unterschiedlichen Typen entsprechen, wenn zwischen diesen eine entsprechende Beziehung in der Klassenhierarchie besteht.
Beispiele:
Ein Objekt vom Typ "Benutzer" (s. Benutzer) besteht nicht nur eine Typprüfung auf den konkreten Typ "Benutzer" (
User) sondern z. B. auch für den Typ "Schnittstelle > Benutzer" (IUser), dem auch die Gastbenutzer angehören, sowie den übergeordneten Typ "Entität" (Entity) für alle Entitätstypen.Eine Typprüfung auf den Typ "Schnittstelle > Benutzer" (
IUser) akzeptiert Entitäten der Typen "Benutzer" (User) und "Gastbenutzer" (GuestUser), während z. B. ein "Firmenkonto" (CompanyAccount) diese Prüfung nicht besteht.
Wenn eine Typprüfung in einer Regel-Konfiguration verwendet wird, beeinflusst ihre Parametrierung (Typ und Ist Liste von) im Allgemeinen den im Kontext der Regel-Konfiguration anwendbaren und ggf. angezeigten Typhinweis mit vielfältigen Auswirkungen für die nachgelagerte Konfiguration ("abwärts" in der Visualisierung):
Der Screenshot rechts zeigt die Regel-Konfiguration für ein "Zuordnungskriterium" (s. Zuordnungskriterien):
|
|
Der Screenshot rechts zeigt eine ODER-Verknüpfung mit zwei Instanzen der Typprüfung, durch die zwei alternative Typen - "Benutzer" (
|
|
Wie im Screenshot rechts gezeigt, könnte man den Typ "Schnittstelle > Benutzer" ( ►WICHTIG◄ Diese Konfiguration ist nur gleichwertig zur vorherigen, wenn die ODER-Verknüpfung (oben) sämtliche Typen abdeckt, die der "Schnittstellentyp" (hier: |
|
Der Screenshot rechts zeigt zunächst wieder eine ODER-Verknüpfung mit zwei Instanzen der Typprüfung, die den Typ "Benutzer" (
►HINWEIS◄ Die Typprüfung wandelt das zur Laufzeit vorliegende Bezugsobjekt nicht in den geprüften Typ (hier: "Entität") um. Zur Laufzeit liegt also im gegebenen Fall immer ein Bezugsobjekt mit seinem konkreten Typ (z. B. "Benutzer" oder "Rolle") und allen Feldern vor. Auch eine Typprüfung auf "Entität" (Entity) anstelle der ODER-Verknüpfung würde daran nichts ändern. ►ANMERKUNG◄ Um Felder, die der Typ "Entität" nicht beinhaltet, per Dropdown auswählen zu können, könnte man vorübergehend eine weitere Instanz der Typprüfung unterhalb der ODER-Verknüpfung einfügen, in der dann der relevante Typ (hier: "Benutzer" oder "Rolle") ausgewählt wird. Nach der Feldauswahl für beide Typen kann man diese zusätzliche Typprüfung wieder entfernen. Im Screenshot rechts wurde die Objekt-Feld-Regel so ausgestaltet, dass als Prüfwert (links) entweder das Feld "Benutzername" ( Die "Rolle" wird dabei über den Standardwert-Wertauflöser ins Spiel gebracht, falls das ►ANMERKUNG◄ Wie im Screenshot zu sehen, zeigen die Auswahlfeld/Combobox-Elemente im Objekt-Feld-Wertauflöser jeweils nur den ausgewählten internen Feldnamen ( |
|
| |
Der Screenshot rechts zeigt, wie die Konfiguration aus dem vorherige Beispiel mit zwei Instanzen des Eingabeobjekt (Typsicher)-Wertauflösers sauberer, transparenter und sogar robuster gemacht werden kann:
|
|
Konfiguration
Für die Typprüfung können zwei Optionen gesetzt werden:
Die Option Typhinweis bei leerem Wert prüfen soll eine indirekte Typprüfung in dem Fall ermöglichen, dass kein Objekt übergeben wurde aber der Aufrufkontext Hinweise auf einen bestimmten Objekttyp beinhaltet.
Mit der Option Ist Liste von kann anstelle eines einzelnen Objekts eine Liste von Objekten einer Typprüfung unterzogen werden.
Abhängig von der Auswahl für die beiden Optionen sind die folgenden Varianten für die Konfiguration einer Prüfung zu unterscheiden:
Auswahl | Option | Option | Prüfbedingung für "Regel bestanden" |
|---|---|---|---|
<Typauswahl> | Das übergebene Objekt entspricht dem Typ <Typauswahl>. Die Auswahl eines Typs ist dabei erforderlich. | ||
<Typauswahl> | Das übergebene Objekt ist eine Liste, die kein Objekt enthält, das nicht dem ausgewählten Typ entspricht. Die Auswahl eines Typs ist dabei optional. Ohne eine Auswahl werden Einträge beliebiger Typen akzeptiert. ►HINWEIS◄ Die Prüfbedingung klingt etwas umständlich, wurde aber mit Blick auf die folgenden Sonderfälle gezielt so formuliert:
| ||
<Typauswahl> | Das übergebene Objekt entspricht dem Typ <Typauswahl> Als Typhinweis wird die Variable Beispiel im Kontext einer Übersicht für Benutzer: ►HINWEIS◄ Wird ein Eigenes Aktionsevent per Ereignisaktion ausgelöst (Eigenes Aktionsevent auslösen (Aktion)), dann wird die Variable Beispiel:
| ||
<Typauswahl> | Das übergebene Objekt ist eine Liste, die kein Objekt enthält, das nicht dem Typ <Typauswahl> entspricht ►HINWEIS◄ Die Prüfung für den "Typhinweis bei leerem Wert" bezieht sich ausdrücklich nicht auf die <Typauswahl>. Ohne ein konkretes Objekt kann also nur unspezifisch festgestellt werden, ob die Variable Beispiel:
|







