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プロパティのブール値を返します。