org.apache.cassandra.index.sasi.utils

## Class OnDiskIndexIterator

- java.lang.Object
- - org.apache.cassandra.index.sasi.utils.AbstractIterator<T>
  - - org.apache.cassandra.index.sasi.utils.RangeIterator<OnDiskIndex.DataTerm,CombinedTerm>
    - - org.apache.cassandra.index.sasi.utils.OnDiskIndexIterator

All Implemented Interfaces:
  com.google.common.collect.PeekingIterator<CombinedTerm>, java.io.Closeable, java.lang.AutoCloseable, java.util.Iterator<CombinedTerm>

    public class OnDiskIndexIterator
    extends RangeIterator<OnDiskIndex.DataTerm,CombinedTerm>

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.cassandra.index.sasi.utils.RangeIterator

`RangeIterator.Builder<K extends java.lang.Comparable<K>,D extends CombinedValue<K>>`

### Nested classes/interfaces inherited from class org.apache.cassandra.index.sasi.utils.AbstractIterator

`AbstractIterator.State`

### Field Summary

### Fields inherited from class org.apache.cassandra.index.sasi.utils.AbstractIterator

`next, state`

### Constructor Summary

Constructors
Constructor and Description
`OnDiskIndexIterator(OnDiskIndex index)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `close()`
`protected CombinedTerm` `computeNext()` Returns the next element.
`protected void` `performSkipTo(OnDiskIndex.DataTerm nextToken)`
`static RangeIterator<OnDiskIndex.DataTerm,CombinedTerm>` `union(OnDiskIndex... union)`

### Methods inherited from class org.apache.cassandra.index.sasi.utils.RangeIterator

`getCount, getCurrent, getMaximum, getMinimum, isOverlapping, isOverlapping, recomputeNext, skipTo, tryToComputeNext`

### Methods inherited from class org.apache.cassandra.index.sasi.utils.AbstractIterator

`endOfData, hasNext, next, peek, remove`

### 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

#### OnDiskIndexIterator

    public OnDiskIndexIterator(OnDiskIndex index)

### Method Detail

#### union

    public static RangeIterator<OnDiskIndex.DataTerm,CombinedTerm> union(OnDiskIndex... union)

#### computeNext

    protected CombinedTerm computeNext()

Description copied from class: `AbstractIterator`
Returns the next element. Note: the implementation must call `AbstractIterator.endOfData()` when there are no elements left in the iteration. Failure to do so could result in an infinite loop.

The initial invocation of `AbstractIterator.hasNext()` or `AbstractIterator.next()` calls this method, as does the first invocation of `hasNext` or `next` following each successful call to `next`. Once the implementation either invokes `endOfData` or throws an exception, `computeNext` is guaranteed to never be called again.

If this method throws an exception, it will propagate outward to the `hasNext` or `next` invocation that invoked this method. Any further attempts to use the iterator will result in an `IllegalStateException`.

The implementation of this method may not invoke the `hasNext`, `next`, or `AbstractIterator.peek()` methods on this instance; if it does, an `IllegalStateException` will result.

Specified by:
  `computeNext` in class `AbstractIterator<CombinedTerm>`
Returns:
  the next element if there was one. If `endOfData` was called during execution, the return value will be ignored.

#### performSkipTo

    protected void performSkipTo(OnDiskIndex.DataTerm nextToken)

Specified by:
  `performSkipTo` in class `RangeIterator<OnDiskIndex.DataTerm,CombinedTerm>`

#### close

    public void close()
               throws java.io.IOException

Throws:
  `java.io.IOException`