Klasse

Wertauflöser - Kurzfassung

Zweck: Liefert ein durch eine statische Auswahl bestimmtes Java-Klasse-Objekt.

images/download/attachments/128387144/image2023-1-11_15-18-28-version-1-modificationdate-1676010867147-api-v2.png

WICHTIG◄ Alle Wertauflöser für Statische Werte ignorieren den Eingabewert. Innerhalb einer Wertauflöserkette (s. Verketteter Wertauflöser) bewirkt dies, dass alle oberhalb angeordneten Wertauflöser nicht ausgeführt werden.

Der Klasse-Wertauflöser liefert ein durch eine statische Auswahl bestimmtes Java-Klasse-Objekt.

Er erscheint per Standard als Vorschlag für Wert-Konfigurationen, von denen ein Class-Wert erwartet wird.

Da als String-Abbild der "Klasse" (Class) der fully-qualified class name dient, kann der Klasse-Wertauflöser auch für Zuweisungen und Vergleiche mit Feldern verwendet werden, die den Klassennamen als String erwarten. In solchen Kontexten wird er allerdings nicht explizit vorgeschlagen.

Konfiguration

Der einzige Parameter für den Wertauflöser ist ein Auswahlfeld/Combobox-Element, das eine statische Einfachauswahl für eine Klasse ermöglicht.

Seine Suchfunktion sucht nach Übereinstimmungen zwischen dem Eingabetext und den folgenden Komponenten des Labels für Klassen im Dropdown:

  • Lokalisierung für den Klassennamen (Resource $name im Bundle der Klasse),
    z. B. "Verpackungstyp"

  • full-qualified class name der Klasse (=Bundle name in der Sprachverwaltung),
    z. B. de.lobster.scm.base.bto.TypeOfPackaging

WICHTIG◄ Wie der Screenshot rechts belegt, muss die Lokalisierung nicht eindeutig sind. Bei der Auswahl sollte deshalb der interne Klassenname (in Klammern) genau beachtet werden.

images/download/attachments/128387144/image2023-1-11_17-54-34-version-1-modificationdate-1676010867142-api-v2.png

HINWEIS◄ Im Unterschied zu anderen Wertauflösern (z. B. Eingabeobjekt (Typsicher) und Erzeuge Instanz) wird die Direkteingabe eines Klassennamens im Klasse-Wertauflöser nicht möglich.

Beispiel

Ein Zuordnungskriterium (s. Zuordnungskriterien soll genau dann erfüllt sein, wenn als Eingabewert eine beliebige "Entität" vorliegt, die über ein mindestens ein "Verknüpfte-Entität-Attribut" eines beliebigen Typs (s. Verknüpfter Entitätstyp) verfügt, das auf ein Geschäftsobjekt des Typs "Bestellung" (s. Bestellungen) verknüpft.

Konfiguration:

Innerhalb einer UND-Verknüpfung prüft zunächst eine Typprüfung, ob der Eingabewert der übergeordneten Klasse "Entität" angehört.

Nur wenn dies der Fall ist untersucht die verknüpfte Objekt-Feld-Regel in Verbindung mit dem negierten Ist leer-Vergleichstyp, ob die Entität im Eingabewert über ein Verknüpfte-Entität-Attribut verfügt, das sich auf eine konkrete "Bestellung" bezieht:

  • Der Alle Attribute eines Typs-Wertauflöser liefert eine Liste aller Typisierten Attribute des Typs "Verknüpfte-Entität-Attribut", sofern solche Attribute überhaupt vorhanden sind.

  • Der verkettete Regel-Listen Resolver-Wertauflöser liefert das erste Verknüpfte-Entität-Attribut, das die folgenden Bedingungen in einer UND-Verknüpfung erfüllt oder "Kein Wert" ($null), falls kein entsprechendes Attribut existiert:

    • Die erste Objekt-Feld-Regel prüft, ob das Feld "ID der verknüpften Entität" (linkedEntityId) einen Wert (>0) enthält.

    • Die zweite Objekt-Feld-Regel prüft, ob das Feld linkedEntityType des Attributs auf die Klasse "Bestellung" (Order) verweist. Da für den Wert dieses Felds eine Klasse (Class) als Wert definiert ist, bewirkt die Auswahl des Ist Gleich-Vergleichstyps in der Objekt-Feld-Regel während der Konfiguration sofort, dass für den Vergleichswert rechts der Klasse-Wertauflöser als Vorschlag erscheint. Die Klasse "Bestellung" muss dann nur noch per Dropdown ausgewählt werden.

images/download/attachments/128387144/image2023-1-11_18-25-6-version-1-modificationdate-1676010867133-api-v2.png