[Seasar-user:15860] [S2BeansUtil] converter() でプロパティを指定しない場合の動作

Tomoyuki KANO [E-MAIL ADDRESS DELETED]
2008年 9月 27日 (土) 18:02:52 JST


加納ともうします

以下のように S2BeansUtil でコピー先がMapの場合のみ、
Map dst = Beans.copy(src, dst)
		// MyConverter#isTarget() は String で true
		.convert(new MyConverter())
		.execute();

変換元のプロパティが String の場合にのみ、 MyConverterが適用されません。
MyConverter#isTarget() も呼び出されていません。

コピー先が JavaBeans の場合は期待通り、Stringな変換元プロパティ全てに
適用されます。

ソースを視たところ、org.seasar.framework.beans.util.AbstractCopy の
copyBeanToMap(), copyMapToMap() で convertValue() を呼び出している
とこれで destPropertyClass を null としていることが原因の様ですが、
(String.class なら期待通りの動作をすると思うのですが)
これは仕様でしょうか?

よろしくお願いします。


Seasar-user メーリングリストの案内