public abstract class PAUtils
extends java.lang.Object
Constructor and Description |
---|
PAUtils() |
Modifier and Type | Method and Description |
---|---|
static <T> groovy.lang.Closure<T> |
buildClosureForMaps(groovy.lang.Closure<T> cl)
If the passed-in closure expects two arguments, it is considered to be a map-iterative code and is then wrapped
with a single-argument closure, which unwraps the key:value pairs for the original closure.
|
static <T> groovy.lang.Closure<T> |
buildClosureForMapsWithIndex(groovy.lang.Closure<T> cl)
If the passed-in closure expects three arguments, it is considered to be a map-iterative_with_index code and is then wrapped
with a two-argument closure, which unwraps the key:value pairs for the original closure.
|
static <K,V> java.util.Map<K,V> |
buildResultMap(java.util.Collection<java.util.Map.Entry<K,V>> result)
Builds a resulting map out of an map entry collection
|
static java.lang.String[] |
createArray(java.lang.CharSequence value) |
static <K,V> java.util.Map.Entry<K,V>[] |
createArray(java.util.Map<K,V> map) |
static <T> java.util.Collection<T> |
createCollection(java.lang.Iterable<T> object) |
static <T> java.util.Collection<T> |
createCollection(java.util.Iterator<T> iterator) |
static java.util.Comparator<java.lang.Object> |
createComparator(groovy.lang.Closure<java.lang.Object> handler)
Builds a comparator depending on the number of arguments accepted by the supplied closure.
|
static <K,T> groovy.lang.Closure<java.lang.Object> |
createGroupByClosure(groovy.lang.Closure<K> cl,
java.util.concurrent.ConcurrentMap<K,java.util.List<T>> map)
Creates a closure that will insert elements in the appropriate group
|
static <T> void |
evaluateArguments(Pool pool,
java.lang.Object[] args,
int current,
java.util.List<java.lang.Object> soFarArgs,
DataflowVariable<java.lang.Object> result,
groovy.lang.Closure<T> original,
boolean pooledThreadFlag)
Performs a single step in the evaluation of parameters passed into an asynchronous function
|
public static <T> java.util.Collection<T> createCollection(java.lang.Iterable<T> object)
public static <T> java.util.Collection<T> createCollection(java.util.Iterator<T> iterator)
public static java.lang.String[] createArray(java.lang.CharSequence value)
public static <K,V> java.util.Map.Entry<K,V>[] createArray(java.util.Map<K,V> map)
public static <T> groovy.lang.Closure<T> buildClosureForMaps(groovy.lang.Closure<T> cl)
cl
- The closure to use for parallel methodspublic static <T> groovy.lang.Closure<T> buildClosureForMapsWithIndex(groovy.lang.Closure<T> cl)
cl
- The closure to use for parallel methodspublic static <K,V> java.util.Map<K,V> buildResultMap(java.util.Collection<java.util.Map.Entry<K,V>> result)
result
- The collection containing map entriespublic static java.util.Comparator<java.lang.Object> createComparator(groovy.lang.Closure<java.lang.Object> handler)
handler
- The one or two argument closure to build a comparator onpublic static <K,T> groovy.lang.Closure<java.lang.Object> createGroupByClosure(groovy.lang.Closure<K> cl, java.util.concurrent.ConcurrentMap<K,java.util.List<T>> map)
cl
- The distinction closuremap
- The map of groups to contribute topublic static <T> void evaluateArguments(Pool pool, java.lang.Object[] args, int current, java.util.List<java.lang.Object> soFarArgs, DataflowVariable<java.lang.Object> result, groovy.lang.Closure<T> original, boolean pooledThreadFlag)
pool
- The thread pool to useargs
- The list of original argumentscurrent
- The index of the current argument to evaluatesoFarArgs
- A list of arguments evaluated so farresult
- The DFV expecting the function result to be bound to once calculatedoriginal
- The original non-asynchronous function to invoke once all arguments are availablepooledThreadFlag
- Indicates, whether we now run in a pooled thread so we don't have to schedule the original function invocation, once all arguments have been bound