Class FilteredRangeIterator
- java.lang.Object
-
- org.apache.jackrabbit.commons.iterator.FilteredRangeIterator
-
- All Implemented Interfaces:
Iterator
,RangeIterator
public class FilteredRangeIterator extends Object implements RangeIterator
Filtering decorator for iterators.
-
-
Constructor Summary
Constructors Constructor Description FilteredRangeIterator(Iterator<?> iterator)
Creates a pre-fetching decorator for the given iterator.FilteredRangeIterator(Iterator<?> iterator, Predicate predicate)
Creates a new filtered iterator with the default pre-fetch buffer size.FilteredRangeIterator(Iterator<?> iterator, Predicate predicate, int bufferSize)
Creates a new filtered iterator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getPosition()
Returns the zero-based position of the next element in this iterator.long
getSize()
Returns the total number of elements in this iterator, or -1 if that number is unknown.boolean
hasNext()
Checks whether there are more elements in this iterator.Object
next()
Returns the next element in this iterator.void
remove()
Not supported.void
skip(long n)
Skips the next n elements.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Constructor Detail
-
FilteredRangeIterator
public FilteredRangeIterator(Iterator<?> iterator, Predicate predicate, int bufferSize)
Creates a new filtered iterator.- Parameters:
iterator
- underlying iteratorpredicate
-bufferSize
-
-
FilteredRangeIterator
public FilteredRangeIterator(Iterator<?> iterator, Predicate predicate)
Creates a new filtered iterator with the default pre-fetch buffer size.- Parameters:
iterator
- underlying iteratorpredicate
- predicate used for filtering
-
FilteredRangeIterator
public FilteredRangeIterator(Iterator<?> iterator)
Creates a pre-fetching decorator for the given iterator. This constructor is mostly useful when it is desirable to use the pre-fetching feature to automatically- Parameters:
iterator
- underlying iterator
-
-
Method Detail
-
getPosition
public long getPosition()
Returns the zero-based position of the next element in this iterator.- Specified by:
getPosition
in interfaceRangeIterator
- Returns:
- position of the next element
-
getSize
public long getSize()
Returns the total number of elements in this iterator, or -1 if that number is unknown.- Specified by:
getSize
in interfaceRangeIterator
- Returns:
- number of elements in this iterator, or -1
-
skip
public void skip(long n) throws IllegalArgumentException, NoSuchElementException
Skips the next n elements.- Specified by:
skip
in interfaceRangeIterator
- Parameters:
n
- number of elements to skip- Throws:
IllegalArgumentException
- if n is negativeNoSuchElementException
- if there are not enough elements to skip
-
hasNext
public boolean hasNext()
Checks whether there are more elements in this iterator.
-
next
public Object next() throws NoSuchElementException
Returns the next element in this iterator.- Specified by:
next
in interfaceIterator
- Returns:
- next element
- Throws:
NoSuchElementException
- if there are no more elements
-
remove
public void remove() throws UnsupportedOperationException
Not supported.- Specified by:
remove
in interfaceIterator
- Throws:
UnsupportedOperationException
-
-