org.openspaces.persistency.support
Class ConcurrentMultiDataIterator
java.lang.Object
org.openspaces.persistency.support.ConcurrentMultiDataIterator
- All Implemented Interfaces:
- DataIterator, Iterator, MultiDataIterator
public class ConcurrentMultiDataIterator
- extends Object
- implements MultiDataIterator
A simple implementation wrapping several iterators and exposing them as concurrent iterator using a
fixed size thread pool. If a given iterator is a MultiDataIterator
it will flatten it by getting its respective list of iterators.
Note, this implementation assumes that hasNext()
is called before next()
is called.
And that next()
is called only when hasNext()
returns true
.
- Author:
- kimchy
Method Summary |
void |
close()
Clean up after any resources associated with this iterator
The iterator can be closed even if the iterator wasn't iterated over all of its elements. |
boolean |
hasNext()
|
DataIterator[] |
iterators()
Returns the underlying iterators. |
Object |
next()
|
void |
remove()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ConcurrentMultiDataIterator
public ConcurrentMultiDataIterator(DataIterator[] iterators,
int threadPoolSize)
iterators
public DataIterator[] iterators()
- Description copied from interface:
MultiDataIterator
- Returns the underlying iterators. Note, calling this method should only be performed
if no iteration has happened.
- Specified by:
iterators
in interface MultiDataIterator
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interface Iterator
next
public Object next()
- Specified by:
next
in interface Iterator
remove
public void remove()
- Specified by:
remove
in interface Iterator
close
public void close()
- Description copied from interface:
DataIterator
- Clean up after any resources associated with this iterator
The iterator can be closed even if the iterator wasn't iterated over all of its elements.
- Specified by:
close
in interface DataIterator
Copyright © GigaSpaces.