Package org.apache.jena.util.iterator
Class WrappedIterator<T>
- java.lang.Object
-
- org.apache.jena.util.iterator.NiceIterator<T>
-
- org.apache.jena.util.iterator.WrappedIterator<T>
-
- All Implemented Interfaces:
java.util.Iterator<T>
,IteratorCloseable<T>
,Closeable
,ClosableIterator<T>
,ExtendedIterator<T>
- Direct Known Subclasses:
FilterIterator
,NodeIteratorImpl
,NsIteratorImpl
,RandomOrderIterator
,ResIteratorImpl
,RSIteratorImpl
,StmtIteratorImpl
,TrackingTripleIterator
public class WrappedIterator<T> extends NiceIterator<T>
a WrappedIterator is an ExtendedIterator wrapping around a plain (or presented as plain) Iterator. The wrapping allows the usual extended operations (filtering, concatenating) to be done on an Iterator derived from some other source.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
close: defer to the base, iff it is closablestatic void
close(java.util.Iterator<?> it)
ifit
is a Closableiterator, close it.static <T> ExtendedIterator<T>
create(java.util.Iterator<T> it)
Answer an ExtendedIterator returning the elements ofit
.static <T> ExtendedIterator<T>
createIteratorIterator(java.util.Iterator<java.util.Iterator<T>> it)
Given an Iterator that returns Iterator's, this creates an Iterator over the next level values.static <T> WrappedIterator<T>
createNoRemove(java.util.Iterator<T> it)
Answer an ExtendedIterator wrapped roundit
which does not permit.remove()
even ifit
does.java.util.Iterator<? extends T>
forTestingOnly_getBase()
boolean
hasNext()
hasNext: defer to the base iteratorT
next()
next: defer to the base iteratorstatic <T> WrappedIterator<T>
ofStream(java.util.stream.Stream<T> stream)
Answer an ExtendedIterator wrapped round aStream
.void
remove()
if .remove() is allowed, delegate to the base iterator's .remove; otherwise, throw an UnsupportedOperationException.-
Methods inherited from class org.apache.jena.util.iterator.NiceIterator
andThen, andThen, asList, asSet, emptyIterator, filterDrop, filterKeep, mapWith, removeNext, toList, toSet
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.jena.util.iterator.ExtendedIterator
forEach, nextOptional
-
-
-
-
Method Detail
-
create
public static <T> ExtendedIterator<T> create(java.util.Iterator<T> it)
Answer an ExtendedIterator returning the elements ofit
. Ifit
is itself an ExtendedIterator, return that; otherwise wrapit
.
-
createNoRemove
public static <T> WrappedIterator<T> createNoRemove(java.util.Iterator<T> it)
Answer an ExtendedIterator wrapped roundit
which does not permit.remove()
even ifit
does.
-
ofStream
public static <T> WrappedIterator<T> ofStream(java.util.stream.Stream<T> stream)
Answer an ExtendedIterator wrapped round aStream
. The extended iterator does not permit.remove()
.The stream should not be used directly. The effect of doing so is undefined.
-
createIteratorIterator
public static <T> ExtendedIterator<T> createIteratorIterator(java.util.Iterator<java.util.Iterator<T>> it)
Given an Iterator that returns Iterator's, this creates an Iterator over the next level values. Similar to list splicing in lisp.
-
forTestingOnly_getBase
public java.util.Iterator<? extends T> forTestingOnly_getBase()
-
hasNext
public boolean hasNext()
hasNext: defer to the base iterator- Specified by:
hasNext
in interfacejava.util.Iterator<T>
- Overrides:
hasNext
in classNiceIterator<T>
-
next
public T next()
next: defer to the base iterator- Specified by:
next
in interfacejava.util.Iterator<T>
- Overrides:
next
in classNiceIterator<T>
-
remove
public void remove()
if .remove() is allowed, delegate to the base iterator's .remove; otherwise, throw an UnsupportedOperationException.- Specified by:
remove
in interfacejava.util.Iterator<T>
- Overrides:
remove
in classNiceIterator<T>
-
close
public void close()
close: defer to the base, iff it is closable- Specified by:
close
in interfaceClosableIterator<T>
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classNiceIterator<T>
-
close
public static void close(java.util.Iterator<?> it)
ifit
is a Closableiterator, close it. Abstracts away from tests [that were] scattered through the code.
-
-