groovyx.gpars.util
Class PAUtils

java.lang.Object
  extended by groovyx.gpars.util.PAUtils

public abstract class PAUtils
extends java.lang.Object

Handy methods build PA from different types

Author:
Vaclav Pech Date: 24th Oct 2010

Constructor Summary
PAUtils()
           
 
Method Summary
static groovy.lang.Closure buildClosureForMaps(groovy.lang.Closure 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 groovy.lang.Closure buildClosureForMapsWithIndex(groovy.lang.Closure 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 java.util.Map.Entry<java.lang.Object,java.lang.Object>[] createArray(java.util.Map<java.lang.Object,java.lang.Object> map)
           
static java.util.Collection<java.lang.Object> createCollection(java.lang.Iterable<java.lang.Object> object)
           
static java.util.Collection<java.lang.Object> createCollection(java.util.Iterator<java.lang.Object> iterator)
           
static java.util.Comparator<java.lang.Object> createComparator(groovy.lang.Closure handler)
          Builds a comparator depending on the number of arguments accepted by the supplied closure.
static groovy.lang.Closure createGroupByClosure(groovy.lang.Closure cl, java.util.concurrent.ConcurrentMap<java.lang.Object,java.util.List<java.lang.Object>> map)
          Creates a closure that will insert elements in the appropriate group
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PAUtils

public PAUtils()
Method Detail

createCollection

public static java.util.Collection<java.lang.Object> createCollection(java.lang.Iterable<java.lang.Object> object)

createCollection

public static java.util.Collection<java.lang.Object> createCollection(java.util.Iterator<java.lang.Object> iterator)

createArray

public static java.lang.String[] createArray(java.lang.CharSequence value)

createArray

public static java.util.Map.Entry<java.lang.Object,java.lang.Object>[] createArray(java.util.Map<java.lang.Object,java.lang.Object> map)

buildClosureForMaps

public static groovy.lang.Closure buildClosureForMaps(groovy.lang.Closure 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. If the supplied closure doesn't expect two arguments, it is returned unchanged.

Parameters:
cl - The closure to use for parallel methods
Returns:
The original or an unwrapping closure

buildClosureForMapsWithIndex

public static groovy.lang.Closure buildClosureForMapsWithIndex(groovy.lang.Closure 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. If the supplied closure doesn't expect three arguments, it is returned unchanged.

Parameters:
cl - The closure to use for parallel methods
Returns:
The original or an unwrapping closure

buildResultMap

public 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

Parameters:
result - The collection containing map entries
Returns:
A corresponding map instance

createComparator

public static java.util.Comparator<java.lang.Object> createComparator(groovy.lang.Closure handler)
Builds a comparator depending on the number of arguments accepted by the supplied closure.

Parameters:
handler - The one or two argument closure to build a comparator on
Returns:
A new Comparator to use

createGroupByClosure

public static groovy.lang.Closure createGroupByClosure(groovy.lang.Closure cl,
                                                       java.util.concurrent.ConcurrentMap<java.lang.Object,java.util.List<java.lang.Object>> map)
Creates a closure that will insert elements in the appropriate group

Parameters:
cl - The distinction closure
map - The map of groups to contribute to
Returns:
null

Copyright © 2008–2010 Václav Pech. All Rights Reserved.