org.openspaces.persistency.support
Class ConcurrentMultiDataIterator
java.lang.Object
org.openspaces.persistency.support.ConcurrentMultiDataIterator
- All Implemented Interfaces:
- com.gigaspaces.datasource.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 implemenation assumes that hasNext()
is called before next()
is called.
And that next()
is called only when hasNext()
returns true
.
- Author:
- kimchy
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ConcurrentMultiDataIterator
public ConcurrentMultiDataIterator(com.gigaspaces.datasource.DataIterator[] iterators,
int threadPoolSize)
iterators
public com.gigaspaces.datasource.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()
- Specified by:
close
in interface com.gigaspaces.datasource.DataIterator
Copyright © GigaSpaces.