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さん。