Java-beanutils-querying-filtering-collections
提供:Dev Guides
Java BeanUtils-コレクションの照会またはフィルタリング
説明
Beanのコレクションは、インターフェース_Predicate_を使用してcommons-collectionsでフィルタリングでき、入力オブジェクトの評価でtrueまたはfalseの値を提供します。 指定された値に対して設定されたプロパティ値を評価する_BeanPropertyValueEqualsPredicate_というPredicateがあります。
構文
public BeanPropertyValueEqualsPredicate(String propertyName, Object propertyValue)
上記の構文には2つのパラメータがあり、どのプロパティを評価し、どのプロパティを期待値にするかを決定します。 ターゲットオブジェクトを評価する Predicate を作成し、_propertyName_で指定された値が_propertyValue_で指定された値と等しい場合にtrueを返します。そうでない場合はfalseを返します。
プロパティ名は_org.apache.commons.beanutils.PropertyUtils_によって定義され、単純なもの、インデックス付きのもの、ネストされたもの、またはマップされたものにすることができます。
たとえば、myCarプロパティがfalseであるBeanのコレクションをフィルタリングできます。
//create the closure
BeanPropertyValueEqualsPredicate predicate = new BeanPropertyValueEqualsPredicate( "myCar", Boolean.FALSE );
//filter the collection
CollectionUtils.filter( myCollection, predicate );
上記のコードは「myCollection」コレクションをフィルタリングし、オブジェクトのmyCarプロパティのブール値を返します。