Class FilteredRangeIterator
- java.lang.Object
-
- org.apache.jackrabbit.commons.iterator.FilteredRangeIterator
-
- All Implemented Interfaces:
java.util.Iterator,RangeIterator
public class FilteredRangeIterator extends java.lang.Object implements RangeIterator
Filtering decorator for iterators.
-
-
Constructor Summary
Constructors Constructor Description FilteredRangeIterator(java.util.Iterator<?> iterator)Creates a pre-fetching decorator for the given iterator.FilteredRangeIterator(java.util.Iterator<?> iterator, Predicate predicate)Creates a new filtered iterator with the default pre-fetch buffer size.FilteredRangeIterator(java.util.Iterator<?> iterator, Predicate predicate, int bufferSize)Creates a new filtered iterator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetPosition()Returns the zero-based position of the next element in this iterator.longgetSize()Returns the total number of elements in this iterator, or -1 if that number is unknown.booleanhasNext()Checks whether there are more elements in this iterator.java.lang.Objectnext()Returns the next element in this iterator.voidremove()Not supported.voidskip(long n)Skips the next n elements.
-
-
-
Constructor Detail
-
FilteredRangeIterator
public FilteredRangeIterator(java.util.Iterator<?> iterator, Predicate predicate, int bufferSize)Creates a new filtered iterator.- Parameters:
iterator- underlying iteratorpredicate-bufferSize-
-
FilteredRangeIterator
public FilteredRangeIterator(java.util.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(java.util.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:
getPositionin 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:
getSizein interfaceRangeIterator- Returns:
- number of elements in this iterator, or -1
-
skip
public void skip(long n) throws java.lang.IllegalArgumentException, java.util.NoSuchElementExceptionSkips the next n elements.- Specified by:
skipin interfaceRangeIterator- Parameters:
n- number of elements to skip- Throws:
java.lang.IllegalArgumentException- if n is negativejava.util.NoSuchElementException- if there are not enough elements to skip
-
hasNext
public boolean hasNext()
Checks whether there are more elements in this iterator.- Specified by:
hasNextin interfacejava.util.Iterator- Returns:
trueif there are more elements,falseotherwise
-
next
public java.lang.Object next() throws java.util.NoSuchElementExceptionReturns the next element in this iterator.- Specified by:
nextin interfacejava.util.Iterator- Returns:
- next element
- Throws:
java.util.NoSuchElementException- if there are no more elements
-
remove
public void remove() throws java.lang.UnsupportedOperationExceptionNot supported.- Specified by:
removein interfacejava.util.Iterator- Throws:
java.lang.UnsupportedOperationException
-
-