Singuläres Attribut
Regeltypen - Kurzfassung
Zweck: Gibt im Kontext eines Bezugsobjekts (Entitätstyp muss Attributbesitzer sein), ein bestimmtes "singuläres Attribut" zurück, auf das lesend und schreibend zugegriffen werden kann.
Der Singuläres Attribut-Wertauflöser ermöglicht den Zugriff auf ein singuläres Attribut einer Entität. Er erwartet als Bezugsobjekt eine Entität, die dem Typ nach als "Attributsbesitzer" gilt (s. Attribut (Wertauflöser)) und dessen Datenmodell mindestens ein singuläres Attribut vorsieht. Auf dessen spezifische Datenstruktur kann über den Rückgabewert des Wertauflösers lesend und schreibend zugegriffen werden. Ein Schreibzugriff impliziert das Erzeugen des Attributs, falls es noch nicht existiert.
Der Parameter Singuläres Attribut legt den Typ des singulären Attributs fest, das zurückgeben werden soll.
►HINWEIS◄ Prinzipiell könnte auch der Attribute (Regeltypen)-Wertauflöser verwendet werden, um auf ein singuläres Attribut eines bestimmten Typs zuzugreifen. Dieser gibt allerdings formal eine Liste mit genau einer oder keiner Instanz des Attributs zurück.
Im Kontext der in den verschiedenen Lobster Data Platform / Orchestration-Modulen vordefinierten Standard-Entitäten spielen singuläre Attribute keine Rolle, solange nicht durch Eigene Typdefinitionen spezifische Erweiterungen implementiert sind. Stattdessen kommen fast immer typisierte Attribute unterschiedlicher Typen zum Einsatz (s. Geschäftsobjekte und Attribute), um einer Entität "singuläre" Daten zuzuweisen.
In Zusammenhang mit spezifischen Zusatzmodulen (Allg., GLS, IDS, TOF) erscheinen für Firmen singuläre Attribute, die im Firmenkonto jeweils alle Felder für spezifische "Zusätze" in einem einzigen Attribut gebündelt anbieten.
Konfiguration
Der Singuläres Attribut-Wertauflöser erwartet ein Bezugsobjekt, dessen Datenmodell mindestens ein singuläres Attribut enthalten kann.
Der Parameter Singuläres Attribut sieht eine statische Einfachauswahl für den Attributtyp vor, auf den zugegriffen werden soll. Solange der Kontext der Konfiguration nicht auf einen spezifischen Entitätstyp verweist, erscheinen alle Typen von singulären Attributen zur Auswahl, die das System (aufgrund der Installation und Lizenzierung von Modulen) unterstützt. Ob die Rolle der Session über Berechtigungen für die spezifischen Zusatzmodule für Firmen (s. o.) verfügt, spielt für die Optionen bei der Konfiguration des Wertauflösers keine Rolle. Das Auswahlfeld/Combobox-Element bietet eine Suchfunktion an, die die internen Klassennamen der Attribute ebenso berücksichtigt wie zugehörige Lokalisierungen aus der Sprachverwaltung. |
|
Bezieht sich der Kontext der Konfiguration dagegen auf einen spezifischen Entitätstyp für das Bezugsobjekt, dann erscheinen nur die Typen von singulären Attributen zur Auswahl, die im betreffenden Datenmodell explizit implementiert sind. Rechts wird innerhalb eines Firmenkontos irrtümlich versucht, auf die singulären Attribute für "Zusätze" innerhalb der "Adresse" (address) der Firma zuzugreifen. Das Dropdown zeigt daraufhin keine Einträge zur Auswahl an, da die singulären Attribute für "Zusätze" direkt im attributes-Konten des Firmenkontos vorliegen und nicht innerhalb der Adresse der Firma. |
|
Wird kein Singuläres Attribut ausgewählt, dann ist der Rückgabewert des Wertauflösers immer "kein Wert" (null).
Wird ein ausgewähltes Singuläres Attribut vom Typ des zur Laufzeit vorliegenden Bezugsobjekts nicht unterstützt, ist der Rückgabewert ebenfalls "kein Wert" (null).
Fall das zur Laufzeit vorliegende Bezugsobjekt das ausgewählte Singuläre Attribut unterstützt, im Bezugsobjekt aber keine betreffenden Daten enthalten sind, wird ebenfalls "kein Wert" (null) zurückgegeben.
Beispiel
Ein über Eigene Typdefinitionen definierter Entitätstyp soll die Stammdaten von diskreten "Ladebereichen" (z. B. innerhalb eines Gebäudes, Geländes oder einem Fahrzeug) abbilden. Zwecks Identifikation und ggf. als Basis für Berechnungen zur Beladung (Weight & Balance) soll die Position jedes "Ladebereichs" relativ zu einem Referenzpunkt durch drei Koordinaten (x, y, z) definiert werden können.
Die "Positionsangabe" (also das Koordinaten-Triplett) soll in einem benutzerdefinierten singulären Attribut (s. Eigene Typdefinitionen) zusammengefasst sein.
Beim Kopieren eines bestehenden "Ladebereichs", soll dieses Attribut automatisch gelöscht werden, so dass die Koordinaten in der Kopie immer ausgehend von leeren Eingabefeldern zugeordnet werden müssen.
Laufzeitbeispiel:
Darstellung im Formular |
Entität im XML-Format |
|
<cst:StorageCapacity ...> <name>LEFT/REAR BAGGAGE HOLD</name> ... <attributes> ... <cst:StoragePositionXyz id= "2" ...> <value x= "-0.65" y= "3.75" z= "-1.2" /> </cst:StoragePositionXyz> ... </attributes> </cst:StorageCapacity> |
Konfiguration:
Eine Ereignisbehandlung, die auf das Ereignis "Kopieren" (s. Allgemein (Ereignisse) als Auslösendes Ereignis reagiert, wird wie rechts abgebildet konfiguriert:
|
|