org.apache.commons.collections.functors
Class IfClosure

java.lang.Object
  extended by org.apache.commons.collections.functors.IfClosure
All Implemented Interfaces:
java.io.Serializable, Closure

public class IfClosure
extends java.lang.Object
implements Closure, java.io.Serializable

Closure implementation acts as an if statement calling one or other closure based on a predicate.

Since:
Commons Collections 3.0
Version:
$Revision: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
Stephen Colebourne, Matt Benson
See Also:
Serialized Form

Constructor Summary
IfClosure(Predicate predicate, Closure trueClosure)
          Constructor that performs no validation.
IfClosure(Predicate predicate, Closure trueClosure, Closure falseClosure)
          Constructor that performs no validation.
 
Method Summary
 void execute(java.lang.Object input)
          Executes the true or false closure accoring to the result of the predicate.
 Closure getFalseClosure()
          Gets the closure called when false.
static Closure getInstance(Predicate predicate, Closure trueClosure)
          Factory method that performs validation.
static Closure getInstance(Predicate predicate, Closure trueClosure, Closure falseClosure)
          Factory method that performs validation.
 Predicate getPredicate()
          Gets the predicate.
 Closure getTrueClosure()
          Gets the closure called when true.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IfClosure

public IfClosure(Predicate predicate,
                 Closure trueClosure)
Constructor that performs no validation. Use getInstance if you want that.

This constructor creates a closure that performs no action when the predicate is false.

Parameters:
predicate - predicate to switch on, not null
trueClosure - closure used if true, not null
Since:
Commons Collections 3.2

IfClosure

public IfClosure(Predicate predicate,
                 Closure trueClosure,
                 Closure falseClosure)
Constructor that performs no validation. Use getInstance if you want that.

Parameters:
predicate - predicate to switch on, not null
trueClosure - closure used if true, not null
falseClosure - closure used if false, not null
Method Detail

getInstance

public static Closure getInstance(Predicate predicate,
                                  Closure trueClosure)
Factory method that performs validation.

This factory creates a closure that performs no action when the predicate is false.

Parameters:
predicate - predicate to switch on
trueClosure - closure used if true
Returns:
the if closure
Throws:
java.lang.IllegalArgumentException - if either argument is null
Since:
Commons Collections 3.2

getInstance

public static Closure getInstance(Predicate predicate,
                                  Closure trueClosure,
                                  Closure falseClosure)
Factory method that performs validation.

Parameters:
predicate - predicate to switch on
trueClosure - closure used if true
falseClosure - closure used if false
Returns:
the if closure
Throws:
java.lang.IllegalArgumentException - if any argument is null

execute

public void execute(java.lang.Object input)
Executes the true or false closure accoring to the result of the predicate.

Specified by:
execute in interface Closure
Parameters:
input - the input object

getPredicate

public Predicate getPredicate()
Gets the predicate.

Returns:
the predicate
Since:
Commons Collections 3.1

getTrueClosure

public Closure getTrueClosure()
Gets the closure called when true.

Returns:
the closure
Since:
Commons Collections 3.1

getFalseClosure

public Closure getFalseClosure()
Gets the closure called when false.

Returns:
the closure
Since:
Commons Collections 3.1


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.