org.apache.commons.collections.functors
Class TransformedPredicate<I,O>

java.lang.Object
  extended by org.apache.commons.collections.functors.TransformedPredicate<I,O>
All Implemented Interfaces:
Serializable, PredicateDecorator<I>, Predicate<I>

public final class TransformedPredicate<I,O>
extends Object
implements Predicate<I>, PredicateDecorator<I>, Serializable

Predicate implementation that transforms the given object before invoking another Predicate.

Note: This class cannot suppport generics without breaking the PredicateDecorator interface.

Since:
Commons Collections 3.1
Version:
$Revision: 1.2 $ $Date: 2005/05/23 14:42:13 $
Author:
Matt Hall, John Watkinson, Alban Peignier, Stephen Colebourne
See Also:
Serialized Form

Constructor Summary
TransformedPredicate(Transformer<I,? extends O> transformer, Predicate<? super O> predicate)
          Constructor that performs no validation.
 
Method Summary
 boolean evaluate(I object)
          Evaluates the predicate returning the result of the decorated predicate once the input has been transformed
static
<I,O> Predicate
getInstance(Transformer<I,? extends O> transformer, Predicate<? super O> predicate)
          Factory to create the predicate.
 Predicate[] getPredicates()
          Gets the predicate being decorated.
 Transformer<I,? extends O> getTransformer()
          Gets the transformer in use.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransformedPredicate

public TransformedPredicate(Transformer<I,? extends O> transformer,
                            Predicate<? super O> predicate)
Constructor that performs no validation. Use getInstance if you want that.

Parameters:
transformer - the transformer to use
predicate - the predicate to decorate
Method Detail

getInstance

public static <I,O> Predicate getInstance(Transformer<I,? extends O> transformer,
                                          Predicate<? super O> predicate)
Factory to create the predicate.

Parameters:
transformer - the transformer to call
predicate - the predicate to call with the result of the transform
Returns:
the predicate
Throws:
IllegalArgumentException - if the transformer or the predicate is null

evaluate

public boolean evaluate(I object)
Evaluates the predicate returning the result of the decorated predicate once the input has been transformed

Specified by:
evaluate in interface Predicate<I>
Parameters:
object - the input object which will be transformed
Returns:
true if decorated predicate returns true

getPredicates

public Predicate[] getPredicates()
Gets the predicate being decorated.

Not type-safe in 1.5.

Specified by:
getPredicates in interface PredicateDecorator<I>
Returns:
the predicate as the only element in an array
Since:
Commons Collections 3.1

getTransformer

public Transformer<I,? extends O> getTransformer()
Gets the transformer in use.

Returns:
the transformer


Copyright © 2005-2005 Apache Software Foundation, Matt Hall, John Watkinson. All Rights Reserved.