2.6.4 プロパティの基本単位

プロパティは,保持できる要素の個数や持ち方によって分類できます。これを,プロパティの基本単位といいます。

要素の個数および持ち方によるプロパティの分類について次の表に示します。

表2-8 要素の個数および持ち方によるプロパティの分類

プロパティの基本単位記号定数値の数
Scalar型DMA_CARDINALITY_SINGLE一つの値を取る
VariableArray型EDM_DMA_CARDINALITY_VARRAY複数の値を取る

Scalar型およびVariableArray型のどちらのプロパティもユーザ定義プロパティとして定義できます。

それぞれの基本単位のプロパティについて説明します。

<この項の構成>
(1) Scalar型
(2) VariableArray型

(1) Scalar型

データ型に従った値を一つだけ持つプロパティです。

(2) VariableArray型

VariableArray型は,すべてのデータ型の値の可変長な一次元配列(可変長配列)です。異なる種類のデータ型は混在できません。またDocumentBrokerでは,Object型の値だけを配列要素にできます。

なお,基本単位がVariableArray型のプロパティには,一次元配列の要素のデータ型であるObject型に従ったVariableArrayOfObjectオブジェクト(DMAオブジェクト)へのリファレンスが格納されます。実際の値は参照先のVariableArrayOfObjectオブジェクトの一次元配列が保持します。一次元配列内の要素にはランダムにアクセスできます。また,要素の挿入,置換および削除ができます。

なお,このマニュアルでは,基本単位がVariableArray型のObject型プロパティを,VariableArray型プロパティと呼びます。

VariableArray型プロパティは,DMAクラスの次のクラスまたはそのサブクラスに定義できます。

したがって,このプロパティを設定できるクラスライブラリのオブジェクトは,これらのDMAクラスをプロパティの定義元とする,次のオブジェクトになります。

VariableArray型の特徴についてまとめると,次の表のようになります。

表2-9 VariableArray型の特徴

項目特徴
アクセス方法ランダム
要素の順序不定
値の更新可能
要素の追加末尾にだけ可能
要素の削除末尾だけ可能
プロパティの定義での指定可能
ただし,追加できるクラスには制限がある
要素のデータ型Object型
ただし,edmClass_Structクラスのサブクラスのオブジェクトだけ可能

クラスライブラリでは,VariableArray型プロパティの値を表す可変長配列は,CdbrVariableArrayオブジェクトで表します。また,この可変長配列である複合データは,CdbrCompoundオブジェクトとして表します。

したがって,クラスライブラリでは,CdbrVariableArrayクラスおよびCdbrCompoundクラスのメソッドを使用することによって,VariableArray型プロパティの値を,参照,設定できます。