Package | Description |
---|---|
org.apache.commons.collections4 |
This package contains the interfaces and utilities shared across all the subpackages of this component.
|
org.apache.commons.collections4.functors |
This package contains implementations of the
Closure ,
Predicate ,
Transformer and
Factory interfaces. |
Modifier and Type | Method and Description |
---|---|
static <T,C extends Closure<? super T>> |
CollectionUtils.forAllButLastDo(java.lang.Iterable<T> collection,
C closure)
Executes the given closure on each but the last element in the collection.
|
static <T,C extends Closure<? super T>> |
CollectionUtils.forAllButLastDo(java.util.Iterator<T> iterator,
C closure)
Executes the given closure on each but the last element in the collection.
|
static <T,C extends Closure<? super T>> |
CollectionUtils.forAllDo(java.lang.Iterable<T> collection,
C closure)
Executes the given closure on each element in the collection.
|
static <T,C extends Closure<? super T>> |
CollectionUtils.forAllDo(java.util.Iterator<T> iterator,
C closure)
Executes the given closure on each element in the collection.
|
Modifier and Type | Method and Description |
---|---|
static <E> Closure<E> |
ClosureUtils.asClosure(Transformer<? super E,?> transformer)
Creates a Closure that calls a Transformer each time it is called.
|
static <E> Closure<E> |
ClosureUtils.chainedClosure(Closure<? super E>... closures)
Create a new Closure that calls each closure in turn, passing the
result into the next closure.
|
static <E> Closure<E> |
ClosureUtils.chainedClosure(java.util.Collection<Closure<E>> closures)
Create a new Closure that calls each closure in turn, passing the
result into the next closure.
|
static <E> Closure<E> |
ClosureUtils.doWhileClosure(Closure<? super E> closure,
Predicate<? super E> predicate)
Creates a Closure that will call the closure once and then repeatedly
until the predicate returns false.
|
static <E> Closure<E> |
ClosureUtils.exceptionClosure()
Gets a Closure that always throws an exception.
|
static <E> Closure<E> |
ClosureUtils.forClosure(int count,
Closure<? super E> closure)
Creates a Closure that will call the closure
count times. |
static <E> Closure<E> |
ClosureUtils.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure)
Create a new Closure that calls another closure based on the
result of the specified predicate.
|
static <E> Closure<E> |
ClosureUtils.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure,
Closure<? super E> falseClosure)
Create a new Closure that calls one of two closures depending
on the specified predicate.
|
static <E> Closure<E> |
ClosureUtils.invokerClosure(java.lang.String methodName)
Creates a Closure that will invoke a specific method on the closure's
input object by reflection.
|
static <E> Closure<E> |
ClosureUtils.invokerClosure(java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] args)
Creates a Closure that will invoke a specific method on the closure's
input object by reflection.
|
static <E> Closure<E> |
ClosureUtils.nopClosure()
Gets a Closure that will do nothing.
|
static <E> Closure<E> |
ClosureUtils.switchClosure(java.util.Map<Predicate<E>,Closure<E>> predicatesAndClosures)
Create a new Closure that calls one of the closures depending
on the predicates.
|
static <E> Closure<E> |
ClosureUtils.switchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures)
Create a new Closure that calls one of the closures depending
on the predicates.
|
static <E> Closure<E> |
ClosureUtils.switchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Create a new Closure that calls one of the closures depending
on the predicates.
|
static <E> Closure<E> |
ClosureUtils.switchMapClosure(java.util.Map<? extends E,Closure<E>> objectsAndClosures)
Create a new Closure that uses the input object as a key to find the
closure to call.
|
static <E> Closure<E> |
ClosureUtils.whileClosure(Predicate<? super E> predicate,
Closure<? super E> closure)
Creates a Closure that will call the closure repeatedly until the
predicate returns false.
|
Modifier and Type | Method and Description |
---|---|
static <T> Transformer<T,T> |
TransformerUtils.asTransformer(Closure<? super T> closure)
Creates a Transformer that calls a Closure each time the transformer is used.
|
static <E> Closure<E> |
ClosureUtils.chainedClosure(Closure<? super E>... closures)
Create a new Closure that calls each closure in turn, passing the
result into the next closure.
|
static <E> Closure<E> |
ClosureUtils.doWhileClosure(Closure<? super E> closure,
Predicate<? super E> predicate)
Creates a Closure that will call the closure once and then repeatedly
until the predicate returns false.
|
static <E> Closure<E> |
ClosureUtils.forClosure(int count,
Closure<? super E> closure)
Creates a Closure that will call the closure
count times. |
static <E> Closure<E> |
ClosureUtils.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure)
Create a new Closure that calls another closure based on the
result of the specified predicate.
|
static <E> Closure<E> |
ClosureUtils.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure,
Closure<? super E> falseClosure)
Create a new Closure that calls one of two closures depending
on the specified predicate.
|
static <E> Closure<E> |
ClosureUtils.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure,
Closure<? super E> falseClosure)
Create a new Closure that calls one of two closures depending
on the specified predicate.
|
static <E> Closure<E> |
ClosureUtils.switchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures)
Create a new Closure that calls one of the closures depending
on the predicates.
|
static <E> Closure<E> |
ClosureUtils.switchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Create a new Closure that calls one of the closures depending
on the predicates.
|
static <E> Closure<E> |
ClosureUtils.switchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Create a new Closure that calls one of the closures depending
on the predicates.
|
static <E> Closure<E> |
ClosureUtils.whileClosure(Predicate<? super E> predicate,
Closure<? super E> closure)
Creates a Closure that will call the closure repeatedly until the
predicate returns false.
|
Modifier and Type | Method and Description |
---|---|
static <E> Closure<E> |
ClosureUtils.chainedClosure(java.util.Collection<Closure<E>> closures)
Create a new Closure that calls each closure in turn, passing the
result into the next closure.
|
static <E> Closure<E> |
ClosureUtils.switchClosure(java.util.Map<Predicate<E>,Closure<E>> predicatesAndClosures)
Create a new Closure that calls one of the closures depending
on the predicates.
|
static <E> Closure<E> |
ClosureUtils.switchMapClosure(java.util.Map<? extends E,Closure<E>> objectsAndClosures)
Create a new Closure that uses the input object as a key to find the
closure to call.
|
Modifier and Type | Class and Description |
---|---|
class |
CatchAndRethrowClosure<E>
Closure that catches any checked exception and re-throws it as a
FunctorException runtime exception. |
class |
ChainedClosure<E>
Closure implementation that chains the specified closures together.
|
class |
ExceptionClosure<E>
Closure implementation that always throws an exception.
|
class |
ForClosure<E>
Closure implementation that calls another closure n times, like a for loop.
|
class |
IfClosure<E>
Closure implementation acts as an if statement calling one or other closure
based on a predicate.
|
class |
NOPClosure<E>
Closure implementation that does nothing.
|
class |
SwitchClosure<E>
Closure implementation calls the closure whose predicate returns true,
like a switch statement.
|
class |
TransformerClosure<E>
Closure implementation that calls a Transformer using the input object
and ignore the result.
|
class |
WhileClosure<E>
Closure implementation that executes a closure repeatedly until a condition is met,
like a do-while or while loop.
|
Modifier and Type | Field and Description |
---|---|
private Closure<? super E> |
WhileClosure.iClosure
The closure to call
|
private Closure<? super E> |
ForClosure.iClosure
The closure to call
|
private Closure<? super T> |
ClosureTransformer.iClosure
The closure to wrap
|
private Closure<? super E>[] |
SwitchClosure.iClosures
The matching closures to call
|
private Closure<? super E>[] |
ChainedClosure.iClosures
The closures to call in turn
|
private Closure<? super E> |
SwitchClosure.iDefault
The default closure to call if no tests match
|
private Closure<? super E> |
IfClosure.iFalseClosure
The closure to use if false
|
static Closure |
NOPClosure.INSTANCE
Singleton predicate instance
|
static Closure |
ExceptionClosure.INSTANCE
Singleton predicate instance
|
private Closure<? super E> |
IfClosure.iTrueClosure
The closure to use if true
|
Modifier and Type | Method and Description |
---|---|
static <E> Closure<E> |
ChainedClosure.chainedClosure(Closure<? super E>... closures)
Factory method that performs validation and copies the parameter array.
|
static <E> Closure<E> |
ChainedClosure.chainedClosure(java.util.Collection<Closure<E>> closures)
Create a new Closure that calls each closure in turn, passing the
result into the next closure.
|
(package private) static <T> Closure<T> |
FunctorUtils.coerce(Closure<? super T> closure)
A very simple method that coerces Closure super T> to Closure
|
(package private) static <E> Closure<E>[] |
FunctorUtils.copy(Closure<? super E>... closures)
Clone the closures to ensure that the internal reference can't be messed with.
|
static <E> Closure<E> |
ExceptionClosure.exceptionClosure()
Factory returning the singleton instance.
|
static <E> Closure<E> |
ForClosure.forClosure(int count,
Closure<? super E> closure)
Factory method that performs validation.
|
Closure<? super E> |
WhileClosure.getClosure()
Gets the closure.
|
Closure<? super E> |
ForClosure.getClosure()
Gets the closure.
|
Closure<? super T> |
ClosureTransformer.getClosure()
Gets the closure.
|
Closure<? super E>[] |
SwitchClosure.getClosures()
Gets the closures.
|
Closure<? super E>[] |
ChainedClosure.getClosures()
Gets the closures.
|
Closure<? super E> |
SwitchClosure.getDefaultClosure()
Gets the default closure.
|
Closure<? super E> |
IfClosure.getFalseClosure()
Gets the closure called when false.
|
Closure<? super E> |
IfClosure.getTrueClosure()
Gets the closure called when true.
|
static <E> Closure<E> |
IfClosure.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure)
Factory method that performs validation.
|
static <E> Closure<E> |
IfClosure.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure,
Closure<? super E> falseClosure)
Factory method that performs validation.
|
static <E> Closure<E> |
NOPClosure.nopClosure()
Factory returning the singleton instance.
|
static <E> Closure<E> |
SwitchClosure.switchClosure(java.util.Map<Predicate<E>,Closure<E>> predicatesAndClosures)
Create a new Closure that calls one of the closures depending
on the predicates.
|
static <E> Closure<E> |
SwitchClosure.switchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Factory method that performs validation and copies the parameter arrays.
|
static <E> Closure<E> |
TransformerClosure.transformerClosure(Transformer<? super E,?> transformer)
Factory method that performs validation.
|
static <E> Closure<E> |
WhileClosure.whileClosure(Predicate<? super E> predicate,
Closure<? super E> closure,
boolean doLoop)
Factory method that performs validation.
|
Modifier and Type | Method and Description |
---|---|
static <E> Closure<E> |
ChainedClosure.chainedClosure(Closure<? super E>... closures)
Factory method that performs validation and copies the parameter array.
|
static <T> Transformer<T,T> |
ClosureTransformer.closureTransformer(Closure<? super T> closure)
Factory method that performs validation.
|
(package private) static <T> Closure<T> |
FunctorUtils.coerce(Closure<? super T> closure)
A very simple method that coerces Closure super T> to Closure
|
(package private) static <E> Closure<E>[] |
FunctorUtils.copy(Closure<? super E>... closures)
Clone the closures to ensure that the internal reference can't be messed with.
|
static <E> Closure<E> |
ForClosure.forClosure(int count,
Closure<? super E> closure)
Factory method that performs validation.
|
static <E> Closure<E> |
IfClosure.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure)
Factory method that performs validation.
|
static <E> Closure<E> |
IfClosure.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure,
Closure<? super E> falseClosure)
Factory method that performs validation.
|
static <E> Closure<E> |
IfClosure.ifClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure,
Closure<? super E> falseClosure)
Factory method that performs validation.
|
static <E> Closure<E> |
SwitchClosure.switchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Factory method that performs validation and copies the parameter arrays.
|
static <E> Closure<E> |
SwitchClosure.switchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Factory method that performs validation and copies the parameter arrays.
|
(package private) static void |
FunctorUtils.validate(Closure<?>... closures)
Validate the closures to ensure that all is well.
|
static <E> Closure<E> |
WhileClosure.whileClosure(Predicate<? super E> predicate,
Closure<? super E> closure,
boolean doLoop)
Factory method that performs validation.
|
Modifier and Type | Method and Description |
---|---|
static <E> Closure<E> |
ChainedClosure.chainedClosure(java.util.Collection<Closure<E>> closures)
Create a new Closure that calls each closure in turn, passing the
result into the next closure.
|
static <E> Closure<E> |
SwitchClosure.switchClosure(java.util.Map<Predicate<E>,Closure<E>> predicatesAndClosures)
Create a new Closure that calls one of the closures depending
on the predicates.
|
Constructor and Description |
---|
ChainedClosure(boolean clone,
Closure<? super E>... closures)
Hidden constructor for the use by the static factory methods.
|
ChainedClosure(Closure<? super E>... closures)
Constructor that performs no validation.
|
ClosureTransformer(Closure<? super T> closure)
Constructor that performs no validation.
|
ForClosure(int count,
Closure<? super E> closure)
Constructor that performs no validation.
|
IfClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure)
Constructor that performs no validation.
|
IfClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure,
Closure<? super E> falseClosure)
Constructor that performs no validation.
|
IfClosure(Predicate<? super E> predicate,
Closure<? super E> trueClosure,
Closure<? super E> falseClosure)
Constructor that performs no validation.
|
SwitchClosure(boolean clone,
Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Hidden constructor for the use by the static factory methods.
|
SwitchClosure(boolean clone,
Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Hidden constructor for the use by the static factory methods.
|
SwitchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Constructor that performs no validation.
|
SwitchClosure(Predicate<? super E>[] predicates,
Closure<? super E>[] closures,
Closure<? super E> defaultClosure)
Constructor that performs no validation.
|
WhileClosure(Predicate<? super E> predicate,
Closure<? super E> closure,
boolean doLoop)
Constructor that performs no validation.
|