Class ForClosure

java.lang.Object
org.apache.commons.collections.functors.ForClosure
All Implemented Interfaces:
Serializable, Closure

public class ForClosure extends Object implements Closure, Serializable
Closure implementation that calls another closure n times, like a for loop.

WARNING: from v3.2.2 onwards this class will throw an UnsupportedOperationException when trying to serialize or de-serialize an instance to prevent potential remote code execution exploits.

In order to re-enable serialization support for ForClosure the following system property can be used (via -Dproperty=true):

 org.apache.commons.collections.enableUnsafeSerialization
 
Since:
Commons Collections 3.0
Version:
$Revision: 1713845 $ $Date: 2015-11-11 15:02:16 +0100 (Wed, 11 Nov 2015) $
Author:
Stephen Colebourne
See Also:
  • Constructor Details

    • ForClosure

      public ForClosure(int count, Closure closure)
      Constructor that performs no validation. Use getInstance if you want that.
      Parameters:
      count - the number of times to execute the closure
      closure - the closure to execute, not null
  • Method Details

    • getInstance

      public static Closure getInstance(int count, Closure closure)
      Factory method that performs validation.

      A null closure or zero count returns the NOPClosure. A count of one returns the specified closure.

      Parameters:
      count - the number of times to execute the closure
      closure - the closure to execute, not null
      Returns:
      the for closure
    • execute

      public void execute(Object input)
      Executes the closure count times.
      Specified by:
      execute in interface Closure
      Parameters:
      input - the input object
    • getClosure

      public Closure getClosure()
      Gets the closure.
      Returns:
      the closure
      Since:
      Commons Collections 3.1
    • getCount

      public int getCount()
      Gets the count.
      Returns:
      the count
      Since:
      Commons Collections 3.1