Class ForClosure

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

@Deprecated(since="2021-04-30") public class ForClosure extends Object implements Closure, Serializable
Deprecated.
Apache Commons Collections version 3.x is being deprecated from AEMaaCS. The upgraded version 4.4 of Commons Collections is already included as replacement. Customers are advised to upgrade to this version of the library. Please note: the package name was changed to org.apache.commons.collections4. Further note that there are AEM APIs currently exposing the old collections classes; these will be updated in upcoming releases.
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
See Also:
  • Constructor Details

    • ForClosure

      public ForClosure(int count, Closure closure)
      Deprecated.
      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)
      Deprecated.
      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)
      Deprecated.
      Executes the closure count times.
      Specified by:
      execute in interface Closure
      Parameters:
      input - the input object
    • getClosure

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

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