Class 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 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