DbjVArrayインターフェースは,VARRAY型プロパティの値である可変長配列オブジェクトを扱うインターフェースです。可変長配列オブジェクトの要素を扱うメソッド,可変長配列オブジェクトのプロパティを扱うメソッド,およびプロパティ名を変更するメソッドを提供します。
可変長配列オブジェクトは,プロパティ値集合を要素とするリストオブジェクトで,プロパティとしてメタプロパティを保持しています。可変長配列オブジェクトのメタプロパティとは,その可変長配列オブジェクトが保持するプロパティの,プロパティ名集合を表します。
可変長配列オブジェクトの任意の要素は,そのオブジェクトのメタプロパティが保持するプロパティを必ず保持します。例えば,メタプロパティがプロパティ"A","B","C"を保持する場合,任意の要素がプロパティ"A","B","C"を保持します。
また,可変長配列オブジェクトの要素は,メタプロパティが保持していないプロパティを要素ごとに保持できます。例えば,メタプロパティがプロパティ"A","B","C"を保持する場合,ある要素がプロパティ"A","B","C","X"を保持し,同時に別の要素がプロパティ"A","B","C","Y","Z"を保持できます。
// ユーザアプリケーションプログラムのコーディング例
Set metaProps = new HashSet();
metaProps.add("mdmProp_Name");
metaProps.add("mdmProp_Number");
DbjVArray varray = dbjfactory.createVArray(metaProps);
DbjPropSet props = dbjfactory.createPropSet();
props.setPropVal("mdmProp_Name", "muraoka");
props.setPropVal("mdmProp_Number", 0);
// 1行目の追加("muraoka", 0)
varray.addPropSet(props);
props.setPropVal("mdmProp_Name", "tanaka");
props.setPropVal("mdmProp_Number", 8);
// 2行目の追加("tanaka", 8)
varray.addPropSet(props);
// 表示
System.out.println("1st display");
for(int i = 0; i < varray.size(); i ++ ) {
System.out.print("[" + i + "]");
System.out.print(varray.propSet(i).getStringVal("mdmProp_Name") + ", ");
System.out.println(varray.propSet(i).getIntVal("mdmProp_Number"));
}
// 1行目のmdmProp_Numberプロパティ更新
props = varray.propSet(0);
props.setPropVal("mdmProp_Number", 7);
// 2行目のmdmPropNameプロパティ更新
varray.propSet(1).setPropVal("mdmProp_Name", "kanie");
// 表示
System.out.println("2nd display");
for(int i = 0; i < varray.size(); i++){
System.out.print("[" + i + "]");
System.out.print(varray.propSet(i).getStringVal("mdmProp_Name") + ", ");
System.out.println(varray.propSet(i).getIntVal("mdmProp_Number"));
}
1st display
[0]muraoka, 0
[1]tanaka, 8
2nd display
[0]muraoka, 7
[1]kanie, 8
以降,DbjVArrayインターフェースのメソッドについて説明します。