Show Table of Contents
14.2.3. 委譲設定
委譲クラスは、プロセス実行内から呼ばれるユーザーコードを含みます。最も一般的なサンプルはアクションです。 アクションの場合、
ActionHandler インターフェースの実装は、プロセスのイベントに対して呼びだされます。委譲は、processdefinition.xml ファイルで指定されます。委譲を指定するときには、3 つのデータを提供します。
- クラス名(必須) : 委譲クラスの完全修飾名
- 設定タイプ (任意): 委譲オブジェクトのインスタンス化と設定方法を指定します。 デフォルトでは、デフォルトコンストラクターが利用され、設定情報は無視されます。
- 設定 (任意): 設定タイプに応じたフォーマットで記述された委譲オブジェクトの設定
以下は、全設定タイプの説明です。
14.2.3.1. config-type フィールド
これはデフォルト設定タイプです。config-typeは、 委譲クラスのオブジェクトを最初にインスタンス化し、 それから設定で指定されている通りにオブジェクトのフィールドに値を設定します。 設定は XML で、 要素名がクラスのフィールド名に対応しなければなりません。要素の内容テキストは該当のフィールドにおかれます。また、必要で可能であれば、要素の内容テキストは、フィールドタイプに変換されます。
サポートされる型変換
- 文字列は省略されますが変換されません。
- int, long, float, double, ...などのプリミティブ型
- プリミティブ型の基礎ラッパークラス
- list と, set と collection。 その場合、xml コンテンツの各要素は collection の 要素として扱われ、再帰的に変換しながら パースされます。要素の型が
java.lang.Stringと異なる場合、 完全修飾型名で type 属性を指定することによって示すことができます。 例えば、以下のコードは numbersフィールドに 文字列 のArrayListをインジェクトします:<numbers> <element>one</element> <element>two</element> <element>three</element> </numbers>
要素内のテキストはStringコンストラクターをもつ、いかなるオブジェクトにでも変換できます。 他のString型でない他のものを利用する場合、このフィールドにてelement-typeで指定します。 (この場合はnumbers)これがMapの別例です。<numbers> <entry><key>one</key><value>1</value></entry> <entry><key>two</key><value>2</value></entry> <entry><key>three</key><value>3</value></entry> </numbers>
- この場合、fieldの各要素には、子要素 key1つとvalue のサブ要素1つが必要です。これらは、変換ルールを利用して再帰的にパースされます。 ちょうど collections と同じように、type 属性が指定されていなければ
java.lang.Stringへの変換が想定されます。 org.dom4j.Element- その他のタイプのために、String コンストラクタが利用されます
このクラスに着目してください。
public class MyAction implements ActionHandler {
// access specifiers can be private, default, protected or public
private String city;
Integer rounds;
...
}
これは、このクラスに対して有効な設定です。
... <action class="org.test.MyAction"> <city>Atlanta</city> <rounds>5</rounds> </action> ...

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.