ゲッターとセッターのクラスがあります。
class A
{
private Set<Offers> offers;
public Set<Offers> getOffers(){
return offers;
}
public void setOffers(Set<Offers> offers){
this.offers = offers;
}
}
ここで、Apache Commons PropertyUtilsを使用してオファーのsize()を取得したいと思いました。
PropertyUtils.getProperty(myAInstance, "offers.size");
これは基本的に次のように実行する必要があります。
myAInstance.getOffers().size();
しかし、PropertyUtilsを使用しても機能せず、次のようになります。
java.lang.NoSuchMethodException:クラス'クラスjava.util.LinkedHashSet'の不明なプロパティ'サイズ'
他のオブジェクトのすべてのゲッターとセッターにPropertyUtilsを使用すると、正常に機能します。
コレクションのsize()メソッドがgetXXXおよびsetXXXBeanの規則に準拠していないことが原因であると思われます。
PropertyUtils /またはBeanUtils(またはApache Commonsの他のもの)を使用してコレクションのsize()メソッドを呼び出す別の方法はありますか?
ありがとうクリストフ