[Seasar-user:16264] [S2BeanUtils]CharSequence型指定時にexcludesメソッドが利かない
hirokazu tayama
[E-MAIL ADDRESS DELETED]
2008年 11月 10日 (月) 14:12:21 JST
いつもお世話になっております。田山と申します。
Seasar2 2.4.31よりBeansのexcludesの引数に
CharSequence型を指定できるようになったと思います。
https://www.seasar.org/issues/browse/CONTAINER-294
こちらですが、String以外のCharSequence型指定時、
excludesが正常に機能していないように思います。
public class Hoge {
public String prop;
}
public class Fuga {
public String prop;
}
public class Prop implements CharSequence{
:
@Override
public String toString(){
return "prop";
}
:
}
Hoge hoge = new Hoge();
hoge.prop = "hogeProp";
Fuga fuga = new Fuga();
fuga.prop = "fugaProp";
Beans.copy(hoge, fuga).excludes(new Prop()).execute();
System.out.println(fuga.prop); //hogeProp
コードを追ってみましたが、AbstractCopy#isTargetPropertyにて
引数のname(String型)とexcludePropertyNames(CharSequence型)
をequalsで比較しているのが原因かと思いました。
(恐らく、includesも同様?)
以上、ご確認よろしくお願いいたします。
Seasar-user メーリングリストの案内