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 {@link Criterion} enumeration values are provided by the predicate:
- EQUAL
- GREATER
- GREATER_OR_EQUAL
- LESS
- LESS_OR_EQUAL
The following examples demonstrates how these constants can be used in order to manipulate the evaluation of a comparator result.
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
.
@since 4.0
@version $Id: ComparatorPredicate.java 1477798 2013-04-30 19:49:02Z tn $