org.qi4j.functional
Class Iterables

java.lang.Object
  extended by org.qi4j.functional.Iterables

public final class Iterables
extends java.lang.Object

Utility methods for working with Iterables. See test for examples of how to use.


Constructor Summary
Iterables()
           
 
Method Summary
static
<T,C extends java.util.Collection<T>>
C
addAll(C collection, java.lang.Iterable<? extends T> iterable)
           
static
<T> java.lang.Iterable<T>
append(T item, java.lang.Iterable<T> iterable)
           
static
<T> java.lang.Iterable<T>
cache(java.lang.Iterable<T> iterable)
           
static
<FROM,TO> Function<FROM,TO>
cast()
           
static
<T> java.lang.Iterable<T>
cast(java.lang.Iterable<?> iterable)
           
static
<T> java.lang.Iterable<T>
constant(T item)
           
static long count(java.lang.Iterable<?> iterable)
           
static
<T> java.lang.Iterable<T>
debug(java.lang.String format, java.lang.Iterable<T> iterable, Function<T,java.lang.String>... functions)
           
static
<T> java.lang.Iterable<T>
empty()
           
static
<X> java.lang.Iterable<X>
filter(Specification<?> specification, java.lang.Iterable<X> i)
           
static
<X> X
first(java.lang.Iterable<X> i)
           
static
<X> java.lang.Iterable<X>
flatten(java.lang.Iterable<?>... multiIterator)
           
static
<X,I extends java.lang.Iterable<? extends X>>
java.lang.Iterable<X>
flattenIterables(java.lang.Iterable<I> multiIterator)
           
static
<FROM,TO> TO
fold(Function<? super FROM,TO> function, java.lang.Iterable<? extends FROM> i)
           
static
<T> java.lang.Iterable<T>
iterable(java.util.Enumeration<T> enumeration)
           
static
<T> java.lang.Iterable<T>
iterable(T... items)
           
static
<X> X
last(java.lang.Iterable<X> i)
           
static
<T> java.lang.Iterable<T>
limit(int limitItems, java.lang.Iterable<T> iterable)
           
static
<FROM,TO> java.lang.Iterable<TO>
map(Function<?,TO> function, java.lang.Iterable<FROM> from)
           
static
<T> boolean
matchesAll(Specification<? super T> specification, java.lang.Iterable<T> iterable)
           
static
<T> boolean
matchesAny(Specification<?> specification, java.lang.Iterable<T> iterable)
           
static
<T> java.lang.Iterable<T>
mix(java.lang.Iterable<T>... iterables)
           
static
<T> java.lang.Iterable<T>
prepend(T item, java.lang.Iterable<T> iterable)
           
static
<X> java.lang.Iterable<X>
reverse(java.lang.Iterable<X> iterable)
           
static
<X> X
single(java.lang.Iterable<X> i)
           
static
<X> java.lang.Iterable<X>
skip(int skip, java.lang.Iterable<X> iterable)
           
static
<X> java.lang.Iterable<X>
sort(java.util.Comparator<? super X> comparator, java.lang.Iterable<X> iterable)
           
static
<X extends java.lang.Comparable>
java.lang.Iterable<X>
sort(java.lang.Iterable<X> iterable)
           
static
<T> T[]
toArray(java.lang.Class<T> componentType, java.lang.Iterable<T> iterable)
           
static java.lang.Object[] toArray(java.lang.Iterable<java.lang.Object> iterable)
           
static
<T> java.util.List<T>
toList(java.lang.Iterable<T> iterable)
           
static
<T> java.lang.String
toString(java.lang.Iterable<T> iterable)
           
static
<T> java.lang.String
toString(java.lang.Iterable<T> iterable, Function<T,java.lang.String> toStringFunction, java.lang.String separator)
           
static
<T> java.lang.Iterable<T>
unique(java.lang.Iterable<T> iterable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Iterables

public Iterables()
Method Detail

empty

public static <T> java.lang.Iterable<T> empty()

constant

public static <T> java.lang.Iterable<T> constant(T item)

limit

public static <T> java.lang.Iterable<T> limit(int limitItems,
                                              java.lang.Iterable<T> iterable)

unique

public static <T> java.lang.Iterable<T> unique(java.lang.Iterable<T> iterable)

addAll

public static <T,C extends java.util.Collection<T>> C addAll(C collection,
                                                             java.lang.Iterable<? extends T> iterable)

count

public static long count(java.lang.Iterable<?> iterable)

filter

public static <X> java.lang.Iterable<X> filter(Specification<?> specification,
                                               java.lang.Iterable<X> i)

first

public static <X> X first(java.lang.Iterable<X> i)

single

public static <X> X single(java.lang.Iterable<X> i)

skip

public static <X> java.lang.Iterable<X> skip(int skip,
                                             java.lang.Iterable<X> iterable)

last

public static <X> X last(java.lang.Iterable<X> i)

reverse

public static <X> java.lang.Iterable<X> reverse(java.lang.Iterable<X> iterable)

matchesAny

public static <T> boolean matchesAny(Specification<?> specification,
                                     java.lang.Iterable<T> iterable)

matchesAll

public static <T> boolean matchesAll(Specification<? super T> specification,
                                     java.lang.Iterable<T> iterable)

flatten

public static <X> java.lang.Iterable<X> flatten(java.lang.Iterable<?>... multiIterator)

flattenIterables

public static <X,I extends java.lang.Iterable<? extends X>> java.lang.Iterable<X> flattenIterables(java.lang.Iterable<I> multiIterator)

mix

public static <T> java.lang.Iterable<T> mix(java.lang.Iterable<T>... iterables)

map

public static <FROM,TO> java.lang.Iterable<TO> map(Function<?,TO> function,
                                                   java.lang.Iterable<FROM> from)

iterable

public static <T> java.lang.Iterable<T> iterable(java.util.Enumeration<T> enumeration)

iterable

public static <T> java.lang.Iterable<T> iterable(T... items)

cast

public static <T> java.lang.Iterable<T> cast(java.lang.Iterable<?> iterable)

cast

public static <FROM,TO> Function<FROM,TO> cast()

fold

public static <FROM,TO> TO fold(Function<? super FROM,TO> function,
                                java.lang.Iterable<? extends FROM> i)

prepend

public static <T> java.lang.Iterable<T> prepend(T item,
                                                java.lang.Iterable<T> iterable)

append

public static <T> java.lang.Iterable<T> append(T item,
                                               java.lang.Iterable<T> iterable)

debug

public static <T> java.lang.Iterable<T> debug(java.lang.String format,
                                              java.lang.Iterable<T> iterable,
                                              Function<T,java.lang.String>... functions)

cache

public static <T> java.lang.Iterable<T> cache(java.lang.Iterable<T> iterable)

toString

public static <T> java.lang.String toString(java.lang.Iterable<T> iterable)

toString

public static <T> java.lang.String toString(java.lang.Iterable<T> iterable,
                                            Function<T,java.lang.String> toStringFunction,
                                            java.lang.String separator)

toList

public static <T> java.util.List<T> toList(java.lang.Iterable<T> iterable)

toArray

public static java.lang.Object[] toArray(java.lang.Iterable<java.lang.Object> iterable)

toArray

public static <T> T[] toArray(java.lang.Class<T> componentType,
                              java.lang.Iterable<T> iterable)

sort

public static <X extends java.lang.Comparable> java.lang.Iterable<X> sort(java.lang.Iterable<X> iterable)

sort

public static <X> java.lang.Iterable<X> sort(java.util.Comparator<? super X> comparator,
                                             java.lang.Iterable<X> iterable)