org.openjena.atlas.iterator
Class Iter<T>

java.lang.Object
  extended by org.openjena.atlas.iterator.Iter<T>
All Implemented Interfaces:
java.lang.Iterable<T>, java.util.Iterator<T>

public class Iter<T>
extends java.lang.Object
implements java.lang.Iterable<T>, java.util.Iterator<T>


Nested Class Summary
static interface Iter.Folder<X,Y>
           
 
Method Summary
static
<T> java.util.Iterator<T>
append(java.lang.Iterable<T> iter1, java.lang.Iterable<T> iter2)
           
static
<T> java.util.Iterator<T>
append(java.util.Iterator<? extends T> iter1, java.util.Iterator<? extends T> iter2)
           
 Iter<T> append(java.util.Iterator<T> iter)
           
 void apply(Action<T> action)
           
static
<T> void
apply(java.lang.Iterable<? extends T> stream, Action<T> action)
           
static
<T> void
apply(java.util.Iterator<? extends T> stream, Action<T> action)
           
static
<K,V> void
apply(java.util.Map<K,V> map, ActionKeyValue<K,V> action)
           
 java.lang.String asString()
           
static
<T> java.lang.String
asString(Iter<T> stream)
           
static
<T> java.lang.String
asString(Iter<T> stream, AccString<T> formatter)
           
static
<T> java.lang.String
asString(Iter<T> stream, java.lang.String sep)
           
static
<T> java.lang.String
asString(java.lang.Iterable<T> stream)
           
static
<T> java.lang.String
asString(java.lang.Iterable<T> stream, AccString<T> formatter)
           
static
<T> java.lang.String
asString(java.lang.Iterable<T> stream, java.lang.String sep)
           
static
<T> java.lang.String
asString(java.util.Iterator<T> stream)
           
static
<T> java.lang.String
asString(java.util.Iterator<T> stream, AccString<T> formatter)
           
static
<T> java.lang.String
asString(java.util.Iterator<T> stream, java.lang.String sep)
           
 java.lang.String asString(java.lang.String sep)
           
static
<T> void
close(java.util.Iterator<T> iter)
           
static
<T> Iter<T>
concat(Iter<T> iter1, Iter<T> iter2)
           
static
<T> java.util.Iterator<T>
concat(java.util.Iterator<T> iter1, java.util.Iterator<T> iter2)
           
static
<T> java.util.Iterator<T>
convert(java.util.Iterator<?> iterator)
           
 long count()
          Count the iterator (this is destructive on the iterator)
static
<T> long
count(java.lang.Iterable<T> iterator)
          Count the iterable - many iterable objects have a .size() operation which should be used in preference to this explicit counting operation
static
<T> long
count(java.util.Iterator<T> iterator)
          Count the iterator (this is destructive on the iterator)
static
<T> java.util.Iterator<T>
debug(java.util.Iterator<T> stream)
           
 Iter<T> distinct()
           
static
<T> java.util.Iterator<T>
distinct(java.lang.Iterable<T> iter)
           
static
<T> java.util.Iterator<T>
distinct(java.util.Iterator<T> iter)
           
 boolean every(Filter<T> filter)
           
static
<T> boolean
every(java.lang.Iterable<? extends T> stream, Filter<T> filter)
          Return true if every element of stream passes the filter (reads the stream)
static
<T> boolean
every(java.util.Iterator<? extends T> stream, Filter<T> filter)
          Return true if every element of stream passes the filter (reads the stream until the first element not passing the filter)
 Iter<T> filter(Filter<T> filter)
           
static
<T> java.util.Iterator<T>
filter(java.lang.Iterable<? extends T> stream, Filter<T> filter)
           
static
<T> java.util.Iterator<T>
filter(java.util.Iterator<? extends T> stream, Filter<T> filter)
           
static
<T,R> R
foldLeft(java.lang.Iterable<? extends T> stream, Iter.Folder<T,R> function, R value)
           
static
<T,R> R
foldLeft(java.util.Iterator<? extends T> stream, Iter.Folder<T,R> function, R value)
           
static
<T,R> R
foldRight(java.lang.Iterable<? extends T> stream, Iter.Folder<T,R> function, R value)
           
static
<T,R> R
foldRight(java.util.Iterator<? extends T> stream, Iter.Folder<T,R> function, R value)
           
 boolean hasNext()
           
static
<T> Iter<T>
iter(java.util.Collection<T> collection)
           
static
<T> Iter<T>
iter(Iter<T> iter)
           
static
<T> Iter<T>
iter(java.lang.Iterable<T> iterable)
           
static
<T> Iter<T>
iter(java.util.Iterator<T> iterator)
           
 java.util.Iterator<T> iterator()
           
static
<T,R> java.util.Iterator<R>
map(java.lang.Iterable<? extends T> stream, Transform<T,R> converter)
           
static
<T,R> java.util.Iterator<R>
map(java.util.Iterator<? extends T> stream, Transform<T,R> converter)
           
static
<T,R> java.util.List<R>
map(java.util.List<? extends T> list, Transform<T,R> converter)
           
<R> Iter<R>
map(Transform<T,R> converter)
           
static
<T> java.util.Iterator<T>
materialize(java.util.Iterator<T> iter)
          Materializae an iterator, that is, force it to run now - useful in debugging
 T next()
           
static
<T> java.util.Iterator<T>
notFilter(java.lang.Iterable<? extends T> stream, Filter<T> filter)
           
static
<T> java.util.Iterator<T>
notFilter(java.util.Iterator<? extends T> stream, Filter<T> filter)
           
static
<T> Iter<T>
nullIter()
           
static
<T> java.util.Iterator<T>
nullIterator()
           
 Iter<T> operate(Action<T> action)
          Apply an action to everything in the stream, yielding a stream of the same items
static
<T> java.util.Iterator<T>
operate(java.lang.Iterable<? extends T> stream, Action<T> converter)
          Apply an action to everything in stream, yielding a stream of the same items
static
<T> java.util.Iterator<T>
operate(java.util.Iterator<? extends T> stream, Action<T> action)
          Apply an action to everything in stream, yielding a stream of the same items
static
<T> java.util.Iterator<T>
printWrapper(java.util.Iterator<? extends T> stream)
          Print an iterator as it gets used - this adds a printing wrapper
static
<T> java.util.Iterator<T>
printWrapper(java.io.PrintStream out, java.util.Iterator<? extends T> stream)
          Print an iterator as it gets used - this adds a printing wrapper
<R> R
reduce(Accumulate<T,R> aggregator)
           
static
<T,R> R
reduce(java.lang.Iterable<? extends T> stream, Accumulate<T,R> aggregator)
           
static
<T,R> R
reduce(java.util.Iterator<? extends T> stream, Accumulate<T,R> aggregator)
           
 void remove()
           
 Iter<T> removeNulls()
           
static
<T> java.util.Iterator<T>
removeNulls(java.lang.Iterable<T> iter)
           
static
<T> java.util.Iterator<T>
removeNulls(java.util.Iterator<T> iter)
           
static
<T> void
sendToSink(java.lang.Iterable<T> stream, Sink<T> sink)
          Send the elements of the iterator to a sink - consumes the iterator
static
<T> void
sendToSink(java.util.Iterator<T> iter, Sink<T> sink)
          Send the elements of the iterator to a sink - consumes the iterator
 void sendToSink(Sink<T> sink)
           
static
<T> java.util.Iterator<T>
singleton(T item)
           
static
<T> Iter<T>
singletonIter(T item)
           
 boolean some(Filter<T> filter)
           
static
<T> boolean
some(java.lang.Iterable<? extends T> stream, Filter<T> filter)
          Return true if every element of stream passes the filter (reads the stream until the first element passing the filter)
static
<T> boolean
some(java.util.Iterator<? extends T> stream, Filter<T> filter)
          Return true if one or more elements of stream passes the filter (reads the stream to first element passing the filter)
 java.util.List<T> toList()
           
static
<T> java.util.List<T>
toList(java.lang.Iterable<? extends T> stream)
           
static
<T> java.util.List<T>
toList(java.util.Iterator<? extends T> stream)
           
 java.util.Set<T> toSet()
           
static
<T> java.util.Set<T>
toSet(java.lang.Iterable<? extends T> stream)
           
static
<T> java.util.Set<T>
toSet(java.util.Iterator<? extends T> stream)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

singleton

public static <T> java.util.Iterator<T> singleton(T item)

nullIterator

public static <T> java.util.Iterator<T> nullIterator()

toSet

public static <T> java.util.Set<T> toSet(java.lang.Iterable<? extends T> stream)

toSet

public static <T> java.util.Set<T> toSet(java.util.Iterator<? extends T> stream)

toList

public static <T> java.util.List<T> toList(java.lang.Iterable<? extends T> stream)

toList

public static <T> java.util.List<T> toList(java.util.Iterator<? extends T> stream)

foldLeft

public static <T,R> R foldLeft(java.lang.Iterable<? extends T> stream,
                               Iter.Folder<T,R> function,
                               R value)

foldLeft

public static <T,R> R foldLeft(java.util.Iterator<? extends T> stream,
                               Iter.Folder<T,R> function,
                               R value)

foldRight

public static <T,R> R foldRight(java.lang.Iterable<? extends T> stream,
                                Iter.Folder<T,R> function,
                                R value)

foldRight

public static <T,R> R foldRight(java.util.Iterator<? extends T> stream,
                                Iter.Folder<T,R> function,
                                R value)

reduce

public static <T,R> R reduce(java.lang.Iterable<? extends T> stream,
                             Accumulate<T,R> aggregator)

reduce

public static <T,R> R reduce(java.util.Iterator<? extends T> stream,
                             Accumulate<T,R> aggregator)

apply

public static <T> void apply(java.lang.Iterable<? extends T> stream,
                             Action<T> action)

apply

public static <T> void apply(java.util.Iterator<? extends T> stream,
                             Action<T> action)

apply

public static <K,V> void apply(java.util.Map<K,V> map,
                               ActionKeyValue<K,V> action)

filter

public static <T> java.util.Iterator<T> filter(java.lang.Iterable<? extends T> stream,
                                               Filter<T> filter)

filter

public static <T> java.util.Iterator<T> filter(java.util.Iterator<? extends T> stream,
                                               Filter<T> filter)

notFilter

public static <T> java.util.Iterator<T> notFilter(java.lang.Iterable<? extends T> stream,
                                                  Filter<T> filter)

notFilter

public static <T> java.util.Iterator<T> notFilter(java.util.Iterator<? extends T> stream,
                                                  Filter<T> filter)

every

public static <T> boolean every(java.lang.Iterable<? extends T> stream,
                                Filter<T> filter)
Return true if every element of stream passes the filter (reads the stream)


every

public static <T> boolean every(java.util.Iterator<? extends T> stream,
                                Filter<T> filter)
Return true if every element of stream passes the filter (reads the stream until the first element not passing the filter)


some

public static <T> boolean some(java.lang.Iterable<? extends T> stream,
                               Filter<T> filter)
Return true if every element of stream passes the filter (reads the stream until the first element passing the filter)


some

public static <T> boolean some(java.util.Iterator<? extends T> stream,
                               Filter<T> filter)
Return true if one or more elements of stream passes the filter (reads the stream to first element passing the filter)


map

public static <T,R> java.util.Iterator<R> map(java.lang.Iterable<? extends T> stream,
                                              Transform<T,R> converter)

map

public static <T,R> java.util.Iterator<R> map(java.util.Iterator<? extends T> stream,
                                              Transform<T,R> converter)

map

public static <T,R> java.util.List<R> map(java.util.List<? extends T> list,
                                          Transform<T,R> converter)

operate

public static <T> java.util.Iterator<T> operate(java.lang.Iterable<? extends T> stream,
                                                Action<T> converter)
Apply an action to everything in stream, yielding a stream of the same items


operate

public static <T> java.util.Iterator<T> operate(java.util.Iterator<? extends T> stream,
                                                Action<T> action)
Apply an action to everything in stream, yielding a stream of the same items


printWrapper

public static <T> java.util.Iterator<T> printWrapper(java.util.Iterator<? extends T> stream)
Print an iterator as it gets used - this adds a printing wrapper


printWrapper

public static <T> java.util.Iterator<T> printWrapper(java.io.PrintStream out,
                                                     java.util.Iterator<? extends T> stream)
Print an iterator as it gets used - this adds a printing wrapper


append

public static <T> java.util.Iterator<T> append(java.lang.Iterable<T> iter1,
                                               java.lang.Iterable<T> iter2)

append

public static <T> java.util.Iterator<T> append(java.util.Iterator<? extends T> iter1,
                                               java.util.Iterator<? extends T> iter2)

distinct

public static <T> java.util.Iterator<T> distinct(java.lang.Iterable<T> iter)

distinct

public static <T> java.util.Iterator<T> distinct(java.util.Iterator<T> iter)

removeNulls

public static <T> java.util.Iterator<T> removeNulls(java.lang.Iterable<T> iter)

removeNulls

public static <T> java.util.Iterator<T> removeNulls(java.util.Iterator<T> iter)

convert

public static <T> java.util.Iterator<T> convert(java.util.Iterator<?> iterator)

count

public static <T> long count(java.lang.Iterable<T> iterator)
Count the iterable - many iterable objects have a .size() operation which should be used in preference to this explicit counting operation


count

public static <T> long count(java.util.Iterator<T> iterator)
Count the iterator (this is destructive on the iterator)


asString

public static <T> java.lang.String asString(java.lang.Iterable<T> stream)

asString

public static <T> java.lang.String asString(java.util.Iterator<T> stream)

asString

public static <T> java.lang.String asString(Iter<T> stream)

asString

public static <T> java.lang.String asString(java.lang.Iterable<T> stream,
                                            java.lang.String sep)

asString

public static <T> java.lang.String asString(java.util.Iterator<T> stream,
                                            java.lang.String sep)

asString

public static <T> java.lang.String asString(Iter<T> stream,
                                            java.lang.String sep)

asString

public static <T> java.lang.String asString(java.lang.Iterable<T> stream,
                                            AccString<T> formatter)

asString

public static <T> java.lang.String asString(java.util.Iterator<T> stream,
                                            AccString<T> formatter)

asString

public static <T> java.lang.String asString(Iter<T> stream,
                                            AccString<T> formatter)

close

public static <T> void close(java.util.Iterator<T> iter)

debug

public static <T> java.util.Iterator<T> debug(java.util.Iterator<T> stream)

sendToSink

public static <T> void sendToSink(java.util.Iterator<T> iter,
                                  Sink<T> sink)
Send the elements of the iterator to a sink - consumes the iterator


sendToSink

public static <T> void sendToSink(java.lang.Iterable<T> stream,
                                  Sink<T> sink)
Send the elements of the iterator to a sink - consumes the iterator


iter

public static <T> Iter<T> iter(Iter<T> iter)

iter

public static <T> Iter<T> iter(java.util.Collection<T> collection)

iter

public static <T> Iter<T> iter(java.util.Iterator<T> iterator)

iter

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

materialize

public static <T> java.util.Iterator<T> materialize(java.util.Iterator<T> iter)
Materializae an iterator, that is, force it to run now - useful in debugging


concat

public static <T> Iter<T> concat(Iter<T> iter1,
                                 Iter<T> iter2)

concat

public static <T> java.util.Iterator<T> concat(java.util.Iterator<T> iter1,
                                               java.util.Iterator<T> iter2)

toSet

public java.util.Set<T> toSet()

toList

public java.util.List<T> toList()

sendToSink

public void sendToSink(Sink<T> sink)

filter

public Iter<T> filter(Filter<T> filter)

every

public boolean every(Filter<T> filter)

some

public boolean some(Filter<T> filter)

removeNulls

public Iter<T> removeNulls()

map

public <R> Iter<R> map(Transform<T,R> converter)

operate

public Iter<T> operate(Action<T> action)
Apply an action to everything in the stream, yielding a stream of the same items


reduce

public <R> R reduce(Accumulate<T,R> aggregator)

apply

public void apply(Action<T> action)

append

public Iter<T> append(java.util.Iterator<T> iter)

count

public long count()
Count the iterator (this is destructive on the iterator)


asString

public java.lang.String asString()

asString

public java.lang.String asString(java.lang.String sep)

distinct

public Iter<T> distinct()

iterator

public java.util.Iterator<T> iterator()
Specified by:
iterator in interface java.lang.Iterable<T>

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator<T>

next

public T next()
Specified by:
next in interface java.util.Iterator<T>

remove

public void remove()
Specified by:
remove in interface java.util.Iterator<T>

singletonIter

public static <T> Iter<T> singletonIter(T item)

nullIter

public static <T> Iter<T> nullIter()


Copyright ? 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP Copyright ? 2010 Talis Systems Ltd. Copyright ? 2010, 2011 Epimorphics Ltd.