通过脚本派生程序类,可将动态脚本用于派生属性。使用脚本的派生属性可用于版本、层次和节点。
表 12-1 属性级别说明
属性级别 | 参数 | 对象 |
---|---|---|
版本 |
version |
VersionObject |
层次 |
hierarchy |
HierarchyObject |
全局节点 |
node |
NodeObject |
本地节点 |
node |
LocalNodeObject |
有关详细信息,请参阅以下主题:
节点派生的属性
在此上下文中,传递称为节点的参数。对于全局属性,该节点是 NodeObject。对于本地属性,该节点是 LocalNodeObject。派生属性的脚本必须返回一个值,该值必须对应于正在计算或执行的属性的数据类型。如果脚本返回的值与属性数据类型不匹配,则会对其进行强制转换:例如,为布尔属性返回的 null 值将被视为 false。
注:
并非所有的 Oracle Data Relationship Management 属性数据类型都有 JavaScript 表示法。请参阅“数据类型转换”。
版本和层次属性
在此上下文中,可使用引用 VersionObject 的版本参数或引用 HierObject 的层次参数。计算或执行脚本时,不需要加载脚本中定义的版本。如果版本或层次派生的属性仅访问其他版本和层次级别的属性,则不管是否加载了版本,都会计算该属性。如果版本或层次派生的属性尝试访问节点级别的信息,则必须加载版本,否则计算属性时将生成错误的值。例如,如果版本级别的属性尝试获取孤立节点列表,则未加载版本时该属性将生成错误的值;加载版本后,该属性将生成正确的值。