使用脚本的派生属性

通过脚本派生程序类,可将动态脚本用于派生属性。使用脚本的派生属性可用于版本、层次和节点。

表 12-1 属性级别说明

属性级别 参数 对象

版本

version

VersionObject

层次

hierarchy

HierarchyObject

全局节点

node

NodeObject

本地节点

node

LocalNodeObject

有关详细信息,请参阅以下主题:

节点派生的属性

在此上下文中,传递称为节点的参数。对于全局属性,该节点是 NodeObject。对于本地属性,该节点是 LocalNodeObject。派生属性的脚本必须返回一个值,该值必须对应于正在计算或执行的属性的数据类型。如果脚本返回的值与属性数据类型不匹配,则会对其进行强制转换:例如,为布尔属性返回的 null 值将被视为 false。

注:

并非所有的 Oracle Data Relationship Management 属性数据类型都有 JavaScript 表示法。请参阅“数据类型转换”。

版本和层次属性

在此上下文中,可使用引用 VersionObject 的版本参数或引用 HierObject 的层次参数。计算或执行脚本时,不需要加载脚本中定义的版本。如果版本或层次派生的属性仅访问其他版本和层次级别的属性,则不管是否加载了版本,都会计算该属性。如果版本或层次派生的属性尝试访问节点级别的信息,则必须加载版本,否则计算属性时将生成错误的值。例如,如果版本级别的属性尝试获取孤立节点列表,则未加载版本时该属性将生成错误的值;加载版本后,该属性将生成正确的值。