| Ajaxフレームワーク ユーザーズガイド |
目次
索引
![]()
|
| 付録A 環境定義ファイル |
データ型変換機能で利用するコンバータ設定は、conversion要素で定義します。
<acfConfig>
...
<conversion>
<!-- コンバータの定義 (複数回参照のための) -->
<defConverter>
<converterId>コンバータ・インスタンスの参照名</converterId>
<[converter]>コンバータのインスタンス</[converter]>
</defConverter>
<defConverter>...</defConverter>
<!-- コンバータ選択ルール -->
<conversionRule>
<type>データBeanの型名</type>
<converterId>コンバータ・インスタンスの参照名</converterId>
</conversionRule>
<conversionRule>...</conversionRule>
</conversion>
...
</acfConfig> |
|
要素名 |
説明 |
子要素(注) |
|---|---|---|
|
conversion |
トップレベルの要素 |
(defConverter)* |
|
defConverter |
コンバータのインスタンスに名前を付けます。 |
converterId |
|
conversionRule |
コンバータ選択のルールを1つ追加します。 |
type |
|
type |
Javaの型名(データBeanまたはJavaBeansの型名)を表します。 |
Java型名を表す文字列 |
|
[converter] (各コンバータ名の先頭を小文字にしたもの) |
コンバータの定義を表します。 |
(concreteType)? |
|
converterId |
コンバータの参照を表します。 |
コンバータのインスタンスの名前を表す文字列 |
|
concreteType |
コンバータが生成する具象型名を表します。 |
Java型名を表す文字列 |
|
child |
propertyに対応する子オブジェクト用の情報を指定します。 |
property |
|
property |
プロパティ名を表します。 |
プロパティ名を表す文字列 |
注) 子要素の表記について、以下に説明します。
- A B: AのあとにBを記述します。
- (A|B): AまたはBのどちらかを記述します。
- (A)*: Aを1回以上繰り返して記述するか、全く記述しません。
- (A)?: Aを1回記述するか、全く記述しません。
コンバータ固有の設定項目には、concreteTypeとchildの2種類があります。
以下の表に、各コンバータに子要素として設定可能な項目を示します。
|
コンバータ名 |
concreteType |
child |
||
|---|---|---|---|---|
|
設定 |
省略値 |
設定 |
省略値 |
|
|
BooleanConverter |
△ |
boolean, Boolean |
× |
− |
|
ByteConverter |
△ |
byte, Byte |
× |
− |
|
ShortConverter |
△ |
short, Short |
× |
− |
|
IntegerConverter |
△ |
int, Integer |
× |
− |
|
LongConverter |
△ |
long, Long |
× |
− |
|
FloatConverter |
△ |
float, Float |
× |
− |
|
DoubleConverter |
△ |
double, Double |
× |
− |
|
CharacterConverter |
△ |
char, Character |
× |
− |
|
StringConverter |
△ |
String |
× |
− |
|
DateConverter |
△ |
java.util.Date |
× |
− |
|
BigIntegerConverter |
△ |
java.math.BigInteger |
× |
− |
|
BigDecimalConverter |
△ |
java.math.Decimal |
× |
− |
|
ArrayConverter |
○ |
ユーザ指定の配列型 |
○ |
property要素とtype要素の設定が必須。 |
|
CollectionConverter |
△ |
java.util.ArrayList |
○ |
property要素とtype要素の設定が必須。 |
|
MapConverter |
△ |
java.util.HashMap |
○ |
property要素とtype要素の設定が必須。 |
|
BeanConverter |
○ |
ユーザ指定のJavaBeanクラス |
△ |
各プロパティの型と対応するコンバータ |
○: 必須、△: 任意、×: 不可
注) 要素名は、コンバータ名の先頭を小文字にしたものです。
以下の表に、child要素を必要とするコンバータのchild要素の数、およびchild要素のpropertyに指定する値を示します。
|
コンバータ名 |
childの数 |
childのpropertyの値 |
|---|---|---|
|
ArrayConverter |
1 |
"component" |
|
CollectionConverter |
1 |
"element" |
|
MapConverter |
1 |
"value" |
|
BeanConverter |
0〜n(注) |
JavaBeanに定義されているプロパティ名 |
注) nは、JavaBeanに定義されているプロパティの数です。
以下に、配列の要素がint型の、ArrayConverterの記述例を示します。
<conversionRule>
<type>int[]</type>
<arrayConverter>
<concreteType>int[]</concreteType>
<child>
<property>component</property>
<type>int</type>
</child>
</arrayConverter>
</conversionRule> |
Java型情報の例
以下の例では、publicなどの修飾詞やsetter/getterを省略しています。
また、Java 5のgenericの記法を利用していますが、Java 1.4でも、設定の記述方法やコンバータの動作は変わりません。
package user.package;
// RPC 公開サービス
class ProjectBuilder {
// 設定が不要な例
int getNumberOfProjects();
// 引数にコレクションが現れる例
Project build(Person leader, Collection<Person> persons);
// 戻り値にコレクションが現れる例
Collection<Project> getProjects();
}
// 単純な JavaBean
class Person {
String name;
Date birthday;
}
// 複雑な JavaBean
class Project {
String name;
Person leader;
List<Person> persons;
Map<String, Integer> nameToId;
Map<String, Collection<Person>> nameToRelatedPersons;
} |
コンバータ設定の例
上記の例のようなJavaクラスをデータ型変換機能で変換するには、環境定義ファイルに以下のように記述します。

目次
索引
![]()
|