Class ForClosure
java.lang.Object
org.apache.commons.collections.functors.ForClosure
- All Implemented Interfaces:
Serializable
,Closure
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) $
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Closure
The closure to callprivate final int
The number of times to loopprivate static final long
Serial version UID -
Constructor Summary
ConstructorsConstructorDescriptionForClosure
(int count, Closure closure) Constructor that performs no validation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Executes the closurecount
times.Gets the closure.int
getCount()
Gets the count.static Closure
getInstance
(int count, Closure closure) Factory method that performs validation.private void
Overrides the default readObject implementation to prevent de-serialization (see COLLECTIONS-580).private void
Overrides the default writeObject implementation to prevent serialization (see COLLECTIONS-580).
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerial version UID- See Also:
-
iCount
private final int iCountThe number of times to loop -
iClosure
The closure to call
-
-
Constructor Details
-
ForClosure
Constructor that performs no validation. UsegetInstance
if you want that.- Parameters:
count
- the number of times to execute the closureclosure
- the closure to execute, not null
-
-
Method Details
-
getInstance
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 closureclosure
- the closure to execute, not null- Returns:
- the
for
closure
-
execute
Executes the closurecount
times. -
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
-
writeObject
Overrides the default writeObject implementation to prevent serialization (see COLLECTIONS-580).- Throws:
IOException
-
readObject
Overrides the default readObject implementation to prevent de-serialization (see COLLECTIONS-580).- Throws:
ClassNotFoundException
IOException
-