すべてのOracle Data Relationship Managementのプロパティ定義データ型に、対応するJavaScriptの表現が存在するわけではありません。対応する表現がないものは、StringValueおよびValueが等価となり、その文字列値の解析方法を把握しておく必要があります。これらのいずれかのデータ型のプロパティ値を戻す場合は、そのデータ型の適切な文字列表現も戻す必要があります。格納されている値をプロパティの有効なデータ型に変換できない場合、値は未定義になります。
リスト・プロパティは、データ型に適切なタイプのオブジェクトを含む配列の各要素とともにArrayを戻します。たとえば、ListとマークされたDateプロパティでは、Dateオブジェクトを含むArrayが戻されます。
参照ターゲットが無効な場合、参照表にキーがない場合または参照表の値がデータ型に対して有効でない場合には、参照プロパティにより、予測されるデータ型が戻されない場合があります。たとえば、キーと値のペアの値がTESTであるのに、データ型がDateの場合、結果は未定義になります。
次に、Data Relationship Managementのデータ型を、対応するJavaScriptの表現とともに示します。
表12-4 データ型の比較
プロパティ定義データ型 | JavaScriptデータ型 |
---|---|
AscGroup |
NodeObject配列 |
AscNode |
NodeObject |
AscNodes |
NodeObject配列 |
Boolean |
Boolean |
Date |
Date |
DateTime |
DateTime |
Float |
Number |
FormatMemo |
String |
GlobalNode |
NodeObject |
Group |
String配列 |
Hier |
HierObject |
Hierarchy Group |
String (階層グループ名) |
Hyperlink |
String (URLを表します) |
Integer |
Number |
LeafNode |
LocalNodeObject |
LimbNode |
LocalNodeObject |
ListGroup |
String配列 |
Memo |
String |
MultiNode |
LocalNodeObject配列 |
Node |
LocalNodeObject |
NodeProps |
PropDefObject配列 |
Query |
String (問合せ名) |
Property |
PropDefObject |
Sort |
Number |
SortProp |
PropDefObject |
StdQuery |
String (問合せ名) |
String |
String |
Time |
String |
Version |
String (バージョン名) |
その他のJavaScriptの派生プロパティ(または別のノードの派生プロパティ)を呼び出す場合、その派生によって戻される値がすぐには文字列表現に変換されないため、複合オブジェクトでtoString()を呼び出すことによって結果が戻されるまで、(Arrayからなど、組込み変換に記載されている場合を除き)派生と遅延強制の間で複合オブジェクトを渡すことができます。