Class ForClosure<E>

java.lang.Object
org.apache.commons.collections4.functors.ForClosure<E>
All Implemented Interfaces:
Consumer<E>, Closure<E>

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

WARNING: from v4.1 onwards this class will not be serializable anymore in order to prevent potential remote code execution exploits. Please refer to COLLECTIONS-580 for more details.

Since:
3.0
  • Constructor Details

    • ForClosure

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

    • forClosure

      public static <E> Closure<E> forClosure(int count, Closure<? super E> closure)
      Factory method that performs validation.

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

      Type Parameters:
      E - the type that the closure acts on
      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(E input)
      Executes the closure count times.
      Specified by:
      execute in interface Closure<E>
      Parameters:
      input - the input object
    • getClosure

      public Closure<? super E> getClosure()
      Gets the closure.
      Returns:
      the closure
      Since:
      3.1
    • getCount

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