Top Description Fields Constructors Methods
org.hibernate.internal.util.collections

public Class JoinedIterator<T>

extends Object
implements Iterator<T>
Class Inheritance
All Implemented Interfaces
java.util.Iterator
Imports
java.util.Collections, .Iterator, .List

An Iterator implementation that wraps other Iterators, and presents them all as one continuous Iterator. When any method from Iterator is called, we delegate to each wrapped Iterator in turn until all wrapped Iterators are exhausted.
Authors
Gavine King, Steve Ebersole

Field Summary

Modifier and TypeField and Description
private Iterator<T>
private int
private Iterator<T>
private Iterator<T>[]

Constructor Summary

AccessConstructor and Description
public
JoinedIterator(List<Iterator<T>> wrappedIterators)

public
JoinedIterator(Iterator<T>... iteratorsToWrap)

Method Summary

Modifier and TypeMethod and Description
public boolean
hasNext()

Implements java.util.Iterator.hasNext.

Returns true if the iteration has more elements.
public T
next()

Implements java.util.Iterator.next.

Returns the next element in the iteration.
public void
remove()

Overrides default java.util.Iterator.remove.

Removes from the underlying collection the last element returned by this iterator (optional operation).
protected void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

currentIteratorback to summary
private Iterator<T> currentIterator
currentIteratorIndexback to summary
private int currentIteratorIndex
lastUsedIteratorback to summary
private Iterator<T> lastUsedIterator
wrappedIteratorsback to summary
private Iterator<T>[] wrappedIterators

Constructor Detail

JoinedIteratorback to summary
public JoinedIterator(List<Iterator<T>> wrappedIterators)
Annotations
@SuppressWarnings:unchecked
JoinedIteratorback to summary
public JoinedIterator(Iterator<T>... iteratorsToWrap)

Method Detail

hasNextback to summary
public boolean hasNext()

Implements java.util.Iterator.hasNext.

Doc from java.util.Iterator.hasNext.

Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)

Returns:boolean

true if the iteration has more elements

nextback to summary
public T next()

Implements java.util.Iterator.next.

Doc from java.util.Iterator.next.

Returns the next element in the iteration.

Returns:T

the next element in the iteration

removeback to summary
public void remove()

Overrides default java.util.Iterator.remove.

Doc from java.util.Iterator.remove.

Removes from the underlying collection the last element returned by this iterator (optional operation). This method can be called only once per call to next.

The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method, unless an overriding class has specified a concurrent modification policy.

The behavior of an iterator is unspecified if this method is called after a call to the forEachRemaining method.

updateCurrentIteratorback to summary
protected void updateCurrentIterator()