org.apache.commons.collections

Class PredicateUtils


public class PredicateUtils
extends java.lang.Object

PredicateUtils provides reference implementations and utilities for the Predicate functor interface. The supplied predicates are: All the supplied predicates are Serializable.

Version:
$Revision: 1.19 $ $Date: 2004/05/26 21:50:52 $

Authors:
Stephen Colebourne
Ola Berg

Since:
Commons Collections 3.0

Constructor Summary

PredicateUtils()
This class is not normally instantiated.

Method Summary

static Predicate
allPredicate(Collection predicates)
Create a new Predicate that returns true only if all of the specified predicates are true.
static Predicate
allPredicate(Predicate predicates)
Create a new Predicate that returns true only if all of the specified predicates are true.
static Predicate
andPredicate(Predicate predicate1, Predicate predicate2)
Create a new Predicate that returns true only if both of the specified predicates are true.
static Predicate
anyPredicate(Collection predicates)
Create a new Predicate that returns true if any of the specified predicates are true.
static Predicate
anyPredicate(Predicate predicates)
Create a new Predicate that returns true if any of the specified predicates are true.
static Predicate
asPredicate(Transformer transformer)
Create a new Predicate that wraps a Transformer.
static Predicate
eitherPredicate(Predicate predicate1, Predicate predicate2)
Create a new Predicate that returns true if one, but not both, of the specified predicates are true.
static Predicate
equalPredicate(Object value)
Creates a Predicate that checks if the input object is equal to the specified object using equals().
static Predicate
exceptionPredicate()
Gets a Predicate that always throws an exception.
static Predicate
falsePredicate()
Gets a Predicate that always returns false.
static Predicate
identityPredicate(Object value)
Creates a Predicate that checks if the input object is equal to the specified object by identity.
static Predicate
instanceofPredicate(Class type)
Creates a Predicate that checks if the object passed in is of a particular type, using instanceof.
static Predicate
invokerPredicate(String methodName)
Creates a Predicate that invokes a method on the input object.
static Predicate
invokerPredicate(String methodName, Class[] paramTypes, Object[] args)
Creates a Predicate that invokes a method on the input object.
static Predicate
neitherPredicate(Predicate predicate1, Predicate predicate2)
Create a new Predicate that returns true if neither of the specified predicates are true.
static Predicate
nonePredicate(Collection predicates)
Create a new Predicate that returns true if none of the specified predicates are true.
static Predicate
nonePredicate(Predicate predicates)
Create a new Predicate that returns true if none of the specified predicates are true.
static Predicate
notNullPredicate()
Gets a Predicate that checks if the input object passed in is not null.
static Predicate
notPredicate(Predicate predicate)
Create a new Predicate that returns true if the specified predicate returns false and vice versa.
static Predicate
nullIsExceptionPredicate(Predicate predicate)
Gets a Predicate that throws an exception if the input object is null, otherwise it calls the specified Predicate.
static Predicate
nullIsFalsePredicate(Predicate predicate)
Gets a Predicate that returns false if the input object is null, otherwise it calls the specified Predicate.
static Predicate
nullIsTruePredicate(Predicate predicate)
Gets a Predicate that returns true if the input object is null, otherwise it calls the specified Predicate.
static Predicate
nullPredicate()
Gets a Predicate that checks if the input object passed in is null.
static Predicate
onePredicate(Collection predicates)
Create a new Predicate that returns true if only one of the specified predicates are true.
static Predicate
onePredicate(Predicate predicates)
Create a new Predicate that returns true if only one of the specified predicates are true.
static Predicate
orPredicate(Predicate predicate1, Predicate predicate2)
Create a new Predicate that returns true if either of the specified predicates are true.
static Predicate
transformedPredicate(Transformer transformer, Predicate predicate)
Creates a predicate that transforms the input object before passing it to the predicate.
static Predicate
truePredicate()
Gets a Predicate that always returns true.
static Predicate
uniquePredicate()
Creates a Predicate that returns true the first time an object is encountered, and false if the same object is received again.

Constructor Details

PredicateUtils

public PredicateUtils()
This class is not normally instantiated.

Method Details

allPredicate

public static Predicate allPredicate(Collection predicates)
Create a new Predicate that returns true only if all of the specified predicates are true. The predicates are checked in iterator order.

Parameters:
predicates - a collection of predicates to check, may not be null

Returns:
the all predicate

See Also:
AllPredicate


allPredicate

public static Predicate allPredicate(Predicate predicates)
Create a new Predicate that returns true only if all of the specified predicates are true.

Parameters:
predicates - an array of predicates to check, may not be null

Returns:
the all predicate

See Also:
AllPredicate


andPredicate

public static Predicate andPredicate(Predicate predicate1,
                                     Predicate predicate2)
Create a new Predicate that returns true only if both of the specified predicates are true.

Parameters:
predicate1 - the first predicate, may not be null
predicate2 - the second predicate, may not be null

Returns:
the and predicate

See Also:
AndPredicate


anyPredicate

public static Predicate anyPredicate(Collection predicates)
Create a new Predicate that returns true if any of the specified predicates are true. The predicates are checked in iterator order.

Parameters:
predicates - a collection of predicates to check, may not be null

Returns:
the any predicate

See Also:
AnyPredicate


anyPredicate

public static Predicate anyPredicate(Predicate predicates)
Create a new Predicate that returns true if any of the specified predicates are true.

Parameters:
predicates - an array of predicates to check, may not be null

Returns:
the any predicate

See Also:
AnyPredicate


asPredicate

public static Predicate asPredicate(Transformer transformer)
Create a new Predicate that wraps a Transformer. The Transformer must return either Boolean.TRUE or Boolean.FALSE otherwise a PredicateException will be thrown.

Parameters:
transformer - the transformer to wrap, may not be null

Returns:
the transformer wrapping predicate

See Also:
TransformerPredicate


eitherPredicate

public static Predicate eitherPredicate(Predicate predicate1,
                                        Predicate predicate2)
Create a new Predicate that returns true if one, but not both, of the specified predicates are true.

Parameters:
predicate1 - the first predicate, may not be null
predicate2 - the second predicate, may not be null

Returns:
the either predicate

See Also:
OnePredicate


equalPredicate

public static Predicate equalPredicate(Object value)
Creates a Predicate that checks if the input object is equal to the specified object using equals().

Parameters:
value - the value to compare against

Returns:
the predicate

See Also:
EqualPredicate


exceptionPredicate

public static Predicate exceptionPredicate()
Gets a Predicate that always throws an exception. This could be useful during testing as a placeholder.

Returns:
the predicate

See Also:
ExceptionPredicate


falsePredicate

public static Predicate falsePredicate()
Gets a Predicate that always returns false.

Returns:
the predicate

See Also:
FalsePredicate


identityPredicate

public static Predicate identityPredicate(Object value)
Creates a Predicate that checks if the input object is equal to the specified object by identity.

Parameters:
value - the value to compare against

Returns:
the predicate

See Also:
IdentityPredicate


instanceofPredicate

public static Predicate instanceofPredicate(Class type)
Creates a Predicate that checks if the object passed in is of a particular type, using instanceof. A null input object will return false.

Parameters:
type - the type to check for, may not be null

Returns:
the predicate

See Also:
InstanceofPredicate


invokerPredicate

public static Predicate invokerPredicate(String methodName)
Creates a Predicate that invokes a method on the input object. The method must return either a boolean or a non-null Boolean, and have no parameters. If the input object is null, a PredicateException is thrown.

For example, PredicateUtils.invokerPredicate("isEmpty"); will call the isEmpty method on the input object to determine the predicate result.

Parameters:
methodName - the method name to call on the input object, may not be null

Returns:
the predicate

See Also:
InvokerTransformer, TransformerPredicate


invokerPredicate

public static Predicate invokerPredicate(String methodName,
                                         Class[] paramTypes,
                                         Object[] args)
Creates a Predicate that invokes a method on the input object. The method must return either a boolean or a non-null Boolean, and have no parameters. If the input object is null, a PredicateException is thrown.

For example, PredicateUtils.invokerPredicate("isEmpty"); will call the isEmpty method on the input object to determine the predicate result.

Parameters:
methodName - the method name to call on the input object, may not be null
paramTypes - the parameter types
args - the arguments

Returns:
the predicate

See Also:
InvokerTransformer, TransformerPredicate


neitherPredicate

public static Predicate neitherPredicate(Predicate predicate1,
                                         Predicate predicate2)
Create a new Predicate that returns true if neither of the specified predicates are true.

Parameters:
predicate1 - the first predicate, may not be null
predicate2 - the second predicate, may not be null

Returns:
the neither predicate

See Also:
NonePredicate


nonePredicate

public static Predicate nonePredicate(Collection predicates)
Create a new Predicate that returns true if none of the specified predicates are true. The predicates are checked in iterator order.

Parameters:
predicates - a collection of predicates to check, may not be null

Returns:
the none predicate

See Also:
NonePredicate


nonePredicate

public static Predicate nonePredicate(Predicate predicates)
Create a new Predicate that returns true if none of the specified predicates are true.

Parameters:
predicates - an array of predicates to check, may not be null

Returns:
the none predicate

See Also:
NonePredicate


notNullPredicate

public static Predicate notNullPredicate()
Gets a Predicate that checks if the input object passed in is not null.

Returns:
the predicate

See Also:
NotNullPredicate


notPredicate

public static Predicate notPredicate(Predicate predicate)
Create a new Predicate that returns true if the specified predicate returns false and vice versa.

Parameters:
predicate - the predicate to not

Returns:
the not predicate

See Also:
NotPredicate


nullIsExceptionPredicate

public static Predicate nullIsExceptionPredicate(Predicate predicate)
Gets a Predicate that throws an exception if the input object is null, otherwise it calls the specified Predicate. This allows null handling behaviour to be added to Predicates that don't support nulls.

Parameters:
predicate - the predicate to wrap, may not be null

Returns:
the predicate

See Also:
NullIsExceptionPredicate


nullIsFalsePredicate

public static Predicate nullIsFalsePredicate(Predicate predicate)
Gets a Predicate that returns false if the input object is null, otherwise it calls the specified Predicate. This allows null handling behaviour to be added to Predicates that don't support nulls.

Parameters:
predicate - the predicate to wrap, may not be null

Returns:
the predicate

See Also:
NullIsFalsePredicate


nullIsTruePredicate

public static Predicate nullIsTruePredicate(Predicate predicate)
Gets a Predicate that returns true if the input object is null, otherwise it calls the specified Predicate. This allows null handling behaviour to be added to Predicates that don't support nulls.

Parameters:
predicate - the predicate to wrap, may not be null

Returns:
the predicate

See Also:
NullIsTruePredicate


nullPredicate

public static Predicate nullPredicate()
Gets a Predicate that checks if the input object passed in is null.

Returns:
the predicate

See Also:
NullPredicate


onePredicate

public static Predicate onePredicate(Collection predicates)
Create a new Predicate that returns true if only one of the specified predicates are true. The predicates are checked in iterator order.

Parameters:
predicates - a collection of predicates to check, may not be null

Returns:
the one predicate

See Also:
OnePredicate


onePredicate

public static Predicate onePredicate(Predicate predicates)
Create a new Predicate that returns true if only one of the specified predicates are true.

Parameters:
predicates - an array of predicates to check, may not be null

Returns:
the one predicate

See Also:
OnePredicate


orPredicate

public static Predicate orPredicate(Predicate predicate1,
                                    Predicate predicate2)
Create a new Predicate that returns true if either of the specified predicates are true.

Parameters:
predicate1 - the first predicate, may not be null
predicate2 - the second predicate, may not be null

Returns:
the or predicate

See Also:
OrPredicate


transformedPredicate

public static Predicate transformedPredicate(Transformer transformer,
                                             Predicate predicate)
Creates a predicate that transforms the input object before passing it to the predicate.

Parameters:
transformer - the transformer to call first
predicate - the predicate to call with the result of the transform

Returns:
the predicate

Since:
Commons Collections 3.1

See Also:
TransformedPredicate


truePredicate

public static Predicate truePredicate()
Gets a Predicate that always returns true.

Returns:
the predicate

See Also:
TruePredicate


uniquePredicate

public static Predicate uniquePredicate()
Creates a Predicate that returns true the first time an object is encountered, and false if the same object is received again. The comparison is by equals(). A null input object is accepted and will return true the first time, and false subsequently as well.

Returns:
the predicate

See Also:
UniquePredicate


Copyright © 2001-2005 Apache Software Foundation. All Rights Reserved.