Class ForClosure

  • All Implemented Interfaces:
    java.io.Serializable, Closure

    @Deprecated(since="2021-04-30")
    public class ForClosure
    extends java.lang.Object
    implements Closure, java.io.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:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ForClosure​(int count, Closure closure)
      Deprecated.
      Constructor that performs no validation.
    • Constructor Detail

      • 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 Detail

      • 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​(java.lang.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