org.glassfish.gmbal.generic
Class Algorithms

java.lang.Object
  extended by org.glassfish.gmbal.generic.Algorithms

public final class Algorithms
extends Object


Nested Class Summary
static interface Algorithms.Action<T>
           
 
Method Summary
static
<A> Predicate<A>
and(Predicate<A> arg1, Predicate<A> arg2)
           
static List convertToList(Object arg)
          Converts obj from an Array to a List, if obj is an array.
static String convertToString(Object arg)
          Convert argument to String, either by toString, ot Arrays.toString.
static
<T> T
doPrivileged(Algorithms.Action<T> func)
           
static
<T> Predicate<T>
FALSE(Class<T> cls)
           
static
<A> void
filter(List<A> arg, List<A> result, Predicate<A> predicate)
           
static
<A> List<A>
filter(List<A> arg, Predicate<A> predicate)
           
static
<A> A
find(List<A> arg, Predicate<A> predicate)
           
static
<S,T> List<T>
flatten(List<S> list, UnaryFunction<S,List<T>> map)
          Flatten the results of applying map to list into a list of T.
static
<A,R> R
fold(List<A> list, R initial, BinaryFunction<R,A,R> func)
           
static Map<String,Object> getAnnotationValues(Annotation ann, boolean convertArraysToLists)
          Given an annotation, return a Map that maps each field (given by a method name) to its value in the annotation.
static
<T> T
getFirst(Collection<T> list, Runnable handleEmptyList)
          Return the first element of the list, or invoke handleEmptyList if list is empty.
static
<T> List<T>
list(T... arg)
           
static
<A,R> void
map(Collection<A> arg, Collection<R> result, UnaryFunction<A,R> func)
           
static
<A,R> List<R>
map(List<A> arg, UnaryFunction<A,R> func)
           
static
<K,A,R> Map<K,R>
map(Map<K,A> arg, UnaryFunction<A,R> func)
           
static
<K,V> Map<K,V>
map(Pair<K,V>... pairs)
           
static
<A,R> UnaryFunction<A,R>
mapToFunction(Map<A,R> map)
           
static
<A> Predicate<A>
not(Predicate<A> arg1)
           
static
<A> Predicate<A>
or(Predicate<A> arg1, Predicate<A> arg2)
           
static
<S,T> Pair<S,T>
pair(S first, T second)
           
static
<T> Predicate<T>
TRUE(Class<T> cls)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

list

public static <T> List<T> list(T... arg)

pair

public static <S,T> Pair<S,T> pair(S first,
                                   T second)

map

public static <K,V> Map<K,V> map(Pair<K,V>... pairs)

mapToFunction

public static <A,R> UnaryFunction<A,R> mapToFunction(Map<A,R> map)

map

public static <A,R> void map(Collection<A> arg,
                             Collection<R> result,
                             UnaryFunction<A,R> func)

map

public static <K,A,R> Map<K,R> map(Map<K,A> arg,
                                   UnaryFunction<A,R> func)

map

public static <A,R> List<R> map(List<A> arg,
                                UnaryFunction<A,R> func)

and

public static <A> Predicate<A> and(Predicate<A> arg1,
                                   Predicate<A> arg2)

or

public static <A> Predicate<A> or(Predicate<A> arg1,
                                  Predicate<A> arg2)

FALSE

public static <T> Predicate<T> FALSE(Class<T> cls)

TRUE

public static <T> Predicate<T> TRUE(Class<T> cls)

not

public static <A> Predicate<A> not(Predicate<A> arg1)

filter

public static <A> void filter(List<A> arg,
                              List<A> result,
                              Predicate<A> predicate)

filter

public static <A> List<A> filter(List<A> arg,
                                 Predicate<A> predicate)

find

public static <A> A find(List<A> arg,
                         Predicate<A> predicate)

fold

public static <A,R> R fold(List<A> list,
                           R initial,
                           BinaryFunction<R,A,R> func)

flatten

public static <S,T> List<T> flatten(List<S> list,
                                    UnaryFunction<S,List<T>> map)
Flatten the results of applying map to list into a list of T.

Type Parameters:
S - Type of elements of list.
T - Type of elements of result.
Parameters:
list - List of elements of type S.
map - function mapping S to List.
Returns:
List containg results of applying map to each element of list.

getFirst

public static <T> T getFirst(Collection<T> list,
                             Runnable handleEmptyList)
Return the first element of the list, or invoke handleEmptyList if list is empty.

Type Parameters:
T - The type of the list element.
Parameters:
list - The list
handleEmptyList - A runnable to call when the list is empty. Typically throws an exception.
Returns:
The first element of the list, if any.

convertToList

public static List convertToList(Object arg)
Converts obj from an Array to a List, if obj is an array. Otherwise just returns a List containing obj.


convertToString

public static String convertToString(Object arg)
Convert argument to String, either by toString, ot Arrays.toString.

Parameters:
arg - Object to convert.
Returns:
arg converted to string.

getAnnotationValues

public static Map<String,Object> getAnnotationValues(Annotation ann,
                                                     boolean convertArraysToLists)
Given an annotation, return a Map that maps each field (given by a method name) to its value in the annotation. If the value is an annotation, that value is recursively converted into a Map in the same way.

Parameters:
ann - The annotation to examine.
convertArraysToLists - true if annotation values of array type should be converted to an appropriate list. This is often MUCH more useful, but some contexts require arrays.
Returns:
A map of annotation fields to their values.

doPrivileged

public static <T> T doPrivileged(Algorithms.Action<T> func)


Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.