Die Skriptableitungsklasse ermöglicht die Verwendung dynamischer Skripte durch abgeleitete Eigenschaften. Abgeleitete Eigenschaften, die Skripte verwenden, sind für Versionen, Hierarchien und Knoten verfügbar.
Tabelle 12-1 Beschreibungen der Eigenschaftsebenen
Eigenschaftsebene | Parameter | Objekt |
---|---|---|
Version |
version |
VersionObject |
Hierarchie |
hierarchy |
HierarchyObject |
Globaler Knoten |
node |
NodeObject |
Lokaler Knoten |
node |
LocalNodeObject |
Weitere Informationen finden Sie unter:
Von Knoten abgeleitete Eigenschaften
In diesem Kontext wird der Parameter "node" an Sie übergeben. Für globale Eigenschaften ist der Knoten ein NodeObject. Für lokale Eigenschaften ist der Knoten ein LocalNodeObject. Ein Skript für eine abgeleitete Eigenschaft muss einen Wert zurückgeben. Der Wert muss dem Datentyp der Eigenschaft entsprechen, die ausgewertet oder ausgeführt wird. Wenn der von einem Skript zurückgegebene Wert nicht mit dem Datentyp der Eigenschaft übereinstimmt, erfolgt eine Coercion. Beispiel: Ein für eine Eigenschaft vom Typ "Boolean" zurückgegebener Nullwert wird als "false" behandelt.
Hinweis:
Nicht alle Oracle Data Relationship Management-Datentypen für Eigenschaften verfügen über eine JavaScript-Darstellung. Informationen hierzu finden Sie unter Datentypkonvertierungen.
Versions- und Hierarchieeigenschaften
In diesem Kontext verwenden Sie einen Versionsparameter, der auf ein VersionObject verweist, oder einen Hierarchieparameter, der auf ein HierObject verweist. Die in Skripten definierte Version muss nicht geladen werden, wenn das Skript ausgewertet oder ausgeführt wird. Wenn eine von einer Version oder Hierarchie abgeleitete Eigenschaft nur auf andere Eigenschaften auf Versions- und Hierarchieebene zugreift, wird die Eigenschaft unabhängig vom Ladestatus der Version berechnet. Wenn eine von einer Version oder Hierarchie abgeleitete Eigenschaft versucht, auf Informationen auf Knotenebene zuzugreifen, muss die Version geladen werden. Andernfalls erstellt die Eigenschaftsberechnung einen Fehlerwert. Beispiel: Wenn eine Eigenschaft auf Versionsebene versucht, die Liste der verwaisten Elemente abzurufen, erstellt diese Eigenschaft einen Fehlerwert, wenn die Version nicht geladen ist. Nachdem die Version geladen wurde, erstellt dieselbe Eigenschaft den richtigen Wert.