3.29 DbjVArrayインターフェース

DbjVArrayインターフェースは,VARRAY型プロパティの値である可変長配列オブジェクトを扱うインターフェースです。可変長配列オブジェクトの要素を扱うメソッド,可変長配列オブジェクトのプロパティを扱うメソッド,およびプロパティ名を変更するメソッドを提供します。

可変長配列オブジェクトは,プロパティ値集合を要素とするリストオブジェクトで,プロパティとしてメタプロパティを保持しています。可変長配列オブジェクトのメタプロパティとは,その可変長配列オブジェクトが保持するプロパティの,プロパティ名集合を表します。

可変長配列オブジェクトの任意の要素は,そのオブジェクトのメタプロパティが保持するプロパティを必ず保持します。例えば,メタプロパティがプロパティ"A","B","C"を保持する場合,任意の要素がプロパティ"A","B","C"を保持します。

また,可変長配列オブジェクトの要素は,メタプロパティが保持していないプロパティを要素ごとに保持できます。例えば,メタプロパティがプロパティ"A","B","C"を保持する場合,ある要素がプロパティ"A","B","C","X"を保持し,同時に別の要素がプロパティ"A","B","C","Y","Z"を保持できます。

直接のスーパーインターフェース
  • java.util.List
  • java.lang.Cloneable
    DbjVArrayインターフェースのcloneメソッドは,ディープコピーを実行します。
コーディング例

// ユーザアプリケーションプログラムのコーディング例
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インターフェースのメソッドについて説明します。

<この節の構成>
3.29.1 addPropSet(プロパティ値集合(行)の追加)
3.29.2 addPropVals(プロパティ値(列)の追加)
3.29.3 changePropName(可変長配列オブジェクトのプロパティ名の変更)
3.29.4 changePropNames(可変長配列オブジェクトのプロパティ名の一括変更)
3.29.5 getPropCount(メタプロパティ数の取得)
3.29.6 getPropNameSet(メタプロパティの取得)
3.29.7 getPropVals(可変長配列オブジェクトのプロパティ値のリストの取得)
3.29.8 propSet(プロパティ値集合の取得)
3.29.9 removeProp(プロパティの削除)