|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.collections4.functors.ComparatorPredicate<T>
public class ComparatorPredicate<T>
Predicate that compares the input object with the one stored in the predicate using a comparator. In addition, the comparator result can be evaluated in accordance to a supplied criterion value. In order to demonstrate the use of the predicate, the following variables are declared:
Integer ONE = Integer.valueOf(1); Integer TWO = Integer.valueOf(2); Comparator comparator = new Comparator() { public int compare(Object first, Object second) { return ((Integer) second) - ((Integer) first); } };Using the declared variables, the
ComparatorPredicate
can be used used in the
following way:
ComparatorPredicate.comparatorPredicate(ONE, comparator).evaluate(TWO);The input variable
TWO
in compared to the stored variable ONE
using
the supplied comparator
. This is the default usage of the predicate and will return
true
if the underlying comparator returns 0
. In addition to the default
usage of the predicate, it is possible to evaluate the comparator's result in several ways. The
following ComparatorPredicate.Criterion
enumeration values are provided by the predicate:
ComparatorPredicate.comparatorPredicate(ONE, comparator,ComparatorPredicate.Criterion.GREATER).evaluate(TWO);The input variable TWO is compared to the stored variable ONE using the supplied
comparator
using the GREATER
evaluation criterion constant. This instructs the predicate to
return true
if the comparator returns a value greater than 0
.
Nested Class Summary | |
---|---|
static class |
ComparatorPredicate.Criterion
|
Constructor Summary | |
---|---|
ComparatorPredicate(T object,
Comparator<T> comparator,
ComparatorPredicate.Criterion criterion)
Constructor that performs no validation. |
Method Summary | ||
---|---|---|
static
|
comparatorPredicate(T object,
Comparator<T> comparator)
Factory to create the comparator predicate |
|
static
|
comparatorPredicate(T object,
Comparator<T> comparator,
ComparatorPredicate.Criterion criterion)
Factory to create the comparator predicate |
|
boolean |
evaluate(T target)
Evaluates the predicate. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ComparatorPredicate(T object, Comparator<T> comparator, ComparatorPredicate.Criterion criterion)
comparatorPredicate
if you want that.
object
- the object to compare tocomparator
- the comparator to use for comparisoncriterion
- the criterion to use to evaluate comparisonMethod Detail |
---|
public static <T> Predicate<T> comparatorPredicate(T object, Comparator<T> comparator)
T
- the type that the predicate queriesobject
- the object to compare tocomparator
- the comparator to use for comparison
IllegalArgumentException
- if comparator is nullpublic static <T> Predicate<T> comparatorPredicate(T object, Comparator<T> comparator, ComparatorPredicate.Criterion criterion)
T
- the type that the predicate queriesobject
- the object to compare tocomparator
- the comparator to use for comparisoncriterion
- the criterion to use to evaluate comparison
IllegalArgumentException
- if comparator is null of criterion is invalidpublic boolean evaluate(T target)
true
in the following cases:
comparator.compare(object, input) == 0 && criterion == EQUAL
comparator.compare(object, input) < 0 && criterion == LESS
comparator.compare(object, input) > 0 && criterion == GREATER
comparator.compare(object, input) >= 0 && criterion == GREATER_OR_EQUAL
comparator.compare(object, input) <= 0 && criterion == LESS_OR_EQUAL
evaluate
in interface Predicate<T>
target
- the target object to compare to
true
if the comparison succeeds according to the selected criterion
IllegalStateException
- if the criterion is invalid (really not possible)Predicate.evaluate(java.lang.Object)
,
Comparator.compare(java.lang.Object first, java.lang.Object second)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |