7.21. 汎用ユーティリティ¶
本フレームワークで提供している、汎用的に利用できるユーティリティクラスを以下に示す。
クラス名 | モジュール名 | 概要 |
---|---|---|
DateUtil | nablarch-core | 日付に関する機能を提供する |
FileUtil | nablarch-core | ファイルの取り扱いに関する機能を提供する |
ObjectUtil | nablarch-core | オブジェクトの取り扱いに関する機能を提供する |
StringUtil | nablarch-core | 文字列に関する機能を提供する |
BeanUtil | nablarch-core-beans | Java Beansクラスに関する機能を提供する。プロパティを扱う際の型変換ルールについては BeanUtilの型変換ルール を参照。 |
Base64Util | nablarch-fw | Base64エンコーディングに関する機能を提供する |
BinaryUtil | nablarch-fw-web-extension | バイナリに関する機能を提供する |
7.21.1. BeanUtilの型変換ルール¶
BeanUtil では、Java BeansオブジェクトやMapオブジェクトから 別のJava Beansオブジェクトにデータ移行する際にプロパティの型変換を行っている。
なお、MapオブジェクトからJava Beansオブジェクトにデータ移行する場合、
Mapオブジェクトのキーに .
が含まれていればそのプロパティをネストオブジェクトとして扱う。
型変換ルールについては、 nablarch.core.beans.converter パッケージ配下に配置されている Converter 実装クラスをそれぞれ参照すること。
7.21.1.1. 型変換ルールを追加する¶
型変換ルールを追加するには、以下の手順が必要となる。
- Converter の実装クラスを作成し、Converter#convert に変換処理を実装する。
- ConversionManager の実装クラスを作成する。 今回は標準の型変換ルールに追加でルールを設定するため、 ConversionManager をプロパティとして持つ、 ConversionManager の実装クラスを作成する。
public class SampleConversionManager implements ConversionManager { private ConversionManager delegateManager; @Override public Map<Class<?>, Converter<?>> getConverters() { Map<Class<?>, Converter<?>> converters = new HashMap<Class<?>, Converter<?>>(); // 標準のコンバータ converters.putAll(delegateManager.getConverters()); // 今回作成したコンバータ converters.put(BigInteger.class, new CustomConverter()); return Collections.unmodifiableMap(converters); } public void setDelegateManager(ConversionManager delegateManager) { this.delegateManager = delegateManager; } }
コンポーネント設定ファイルに、 ConversionManager の実装クラスを設定する。
- ポイント
- コンポーネント名は conversionManager とすること。
<component name="conversionManager" class="sample.SampleConversionManager"> <property name="delegateManager"> <component class="nablarch.core.beans.BasicConversionManager" /> </property> </component>