org.apache.commons.collections.functors

## Class IfClosure

- java.lang.Object
- - org.apache.commons.collections.functors.IfClosure

- All Implemented Interfaces:
    Serializable, Closure

      public class IfClosure
      extends Object
      implements Closure, 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 14:33:15 +0200 (Thu, 10 Apr 2008) $
  Author:
    Stephen Colebourne, Matt Benson
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IfClosure(Predicate predicate, Closure trueClosure)` Constructor that performs no validation.
    `IfClosure(Predicate predicate, Closure trueClosure, Closure falseClosure)` Constructor that performs no validation.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `execute(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:
        `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:
        `IllegalArgumentException` - if any argument is null

    - #### execute

          public void execute(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–2015 The Apache Software Foundation. All rights reserved.