S2Util版BeanUtilの紹介

これはそんなに細かくないので伝わりやすいとおもう。^^);

プロパティのコピーはこんな感じ。

BeanUtil.copyBeanToBean(src, dest);

Seasar2のBeanUtilとは異なりexecuteを呼びません。

特定のプロパティは除外したい場合は、CopyOptionsUtilをstatic importして

BeanUtil.copyBeanToBean(src, dest, exclude("aaa", "bbb"));

と書けます。

CopyOptionsUtilの各メソッドの戻り値は CopyOptions なので、

copyBeanToBean(src, dest, excludeNull().excludeWhitespace());

とチェーンすることも出来ます。

Mapにコピーする場合はこんな感じ。

Map dest = ...
BeanUtil.copyBeanToMap(src, dest);

Seasar2のBeanUtilのcreateAndCopy相当はこんな感じ。

MyBean dest = BeanUtil.copyBeanToNewBean(src, MyBean.class);

Map版はこんな感じ。

BeanMap dest = BeanUtil.copyBeanToNewMap(src, BeanMap.class);

BeanMapは存在しないプロパティをgetすると例外IllegalKeyOfBeanMapExceptionがthrowされるようなMapです。

いい感じですね。さすがkoichikさん。