1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sf.collections15;
17
18 /***
19 * Defines a functor interface implemented by classes that perform a predicate
20 * test on an object.
21 * <p/>
22 * A <code>Predicate</code> is the object equivalent of an <code>if</code>
23 * statement. It uses the input object to return a true or false value, and is
24 * often used in validation or filtering.
25 * <p/>
26 * Standard implementations of common predicates are provided by {@link
27 * net.sf.collections15.functors.predicate.PredicateUtils}. These include true,
28 * false, instanceof, equals, and, or, not, method invokation and null testing.
29 *
30 * @author James Strachan
31 * @author Stephen Colebourne
32 * @version $Revision: 1.2 $ $Date: 2004/10/17 01:02:42 $
33 * @since Commons Collections15 1.0
34 */
35 public interface Predicate <E>
36 {
37
38 /***
39 * Use the specified parameter to perform a test that returns true or
40 * false.
41 *
42 * @param object the object to evaluate, should not be changed
43 *
44 * @return true or false
45 *
46 * @throws ClassCastException (runtime) if the input is the wrong
47 * class
48 * @throws IllegalArgumentException (runtime) if the input is invalid
49 * @throws net.sf.collections15.functors.FunctorException
50 * (runtime) if the predicate encounters a
51 * problem
52 */
53 public boolean evaluate(E object);
54
55 }