## org.apache.commons.collections.functors
Class IfClosure

    java.lang.Object
      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.