プロパティは,保持できる要素の個数や持ち方によって分類できます。これを,プロパティの基本単位といいます。
要素の個数および持ち方によるプロパティの分類について次の表に示します。
表2-8 要素の個数および持ち方によるプロパティの分類
プロパティの基本単位 | 記号定数 | 値の数 |
---|---|---|
Scalar型 | DMA_CARDINALITY_SINGLE | 一つの値を取る |
VariableArray型 | EDM_DMA_CARDINALITY_VARRAY | 複数の値を取る |
Scalar型および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型プロパティの値を,参照,設定できます。