拡張データ・エレメント記述は、
ExtendedDataElementDescription クラスのインスタンスです。
このタスクを実行する理由と時期
イベント定義に拡張データ・エレメント記述を追加するには、
先に新しい拡張データ・エレメント記述を作成してから、そのフィールドの値を設定する必要があります。また、ネストされた (子の) 拡張データ・エレメント記述 (これは、
ネストされた拡張データ・エレメントを記述します) を追加することもできます。
これで、拡張データ・エレメント記述をイベント定義に追加できます。
このタスクのステップ
- 新しい拡張データ・エレメント記述を作成するには、拡張データ・エレメントの名前と型を指定した ExtendedDataElementDescription のインスタンスを作成します。
ExtendedDataElementDescription edeDesc =
new ExtendedDataElementDescription(name, type);
このコンストラクターのパラメーターは、以下のとおりです。- name
- 拡張データ・エレメントの名前。これは、記述したい拡張データ・エレメントの name プロパティーの値でなければなりません。
- type
- 拡張データ・エレメントのデータ型。
これは、org.eclipse.hyades.logging.events.cbe.ExtendedDataElement クラスで定義されている以下のいずれかの整数定数でなければなりません。
- TYPE_BOOLEAN_ARRAY_VALUE
- TYPE_BOOLEAN_VALUE
- TYPE_BYTE_ARRAY_VALUE
- TYPE_BYTE_ARRAY
- TYPE_DATE_TIME_ARRAY_VALUE
- TYPE_DATE_TIME_VALUE
- TYPE_DOUBLE_ARRAY_VALUE
- TYPE_DOUBLE_VALUE
- TYPE_FLOAT_ARRAY_VALUE
- TYPE_FLOAT_VALUE
- TYPE_HEX_BINARY_VALUE
- TYPE_INT_ARRAY_VALUE
- TYPE_INT_VALUE
- TYPE_LONG_ARRAY_VALUE
- TYPE_LONG_VALUE
- TYPE_NO_VALUE_VALUE
- TYPE_SHORT_ARRAY_VALUE
- TYPE_SHORT_VALUE
- TYPE_STRING_ARRAY_VALUE
- TYPE_STRING_VALUE
戻されるオブジェクトは、新しい ExtendedDataElementDescription オブジェクトです。
- 拡張データ・エレメント記述のフィールドにデータを取り込みます。 ExtendedDataElementDescription クラスは、拡張データ・エレメント記述の各フィールドに setter メソッドを提供します。
これらのメソッドについて詳しくは、Javadoc API の資料を参照してください。 例えば、拡張データ・エレメントが少なくとも一度生じるように指定するには、setMaxOccurs(int) メソッドを使用して maxOccurs プロパティーを 4 に設定します。
edeDesc.setMaxOccurs(4);
- オプション: 子の拡張データ・エレメント記述を追加するには、ExtendedDataElementDescription.addChild() メソッドを使用します。
edeDesc.addChild(childEdeDesc);
childEdeDesc パラメーターは、有効な拡張データ・エレメント記述でなければなりません。
- EventDefinition.addExtendedDataElementDescription() メソッドを使用して、イベント定義に拡張データ・エレメント記述を追加します。
definition.addExtendedDataElementDescription(edeDesc);
イベント定義に、同じ名前とパスを持つ別の拡張データ・エレメント記述が既に含まれている場合は、
DescriptionExistsException 例外がスローされます。
次のコード・フラグメントは、新しい拡張データ・エレメント記述を作成し、作成した記述にデータを取り込み、その記述をイベント定義に追加します。
ExtendedDataElementDescription edeDesc =
new ExtendedDataElementDescription("age", TYPE_SHORT_VALUE);
edeDesc.setMinOccurs(1);
edeDesc.setMaxOccurs(1);
// definition is a valid event definition
definition.addExtendedDataElementDescription(edeDesc);