org.apache.cassandra.index.sasi

## Class TermIterator

- java.lang.Object
- - org.apache.cassandra.index.sasi.utils.AbstractIterator<T>
  - - org.apache.cassandra.index.sasi.utils.RangeIterator<java.lang.Long,Token>
    - - org.apache.cassandra.index.sasi.TermIterator

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

    public class TermIterator
    extends RangeIterator<java.lang.Long,Token>

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

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static TermIterator` `build(Expression e, java.util.Set<SSTableIndex> perSSTableIndexes)`
`void` `close()`
`protected Token` `computeNext()` Returns the next element.
`protected void` `performSkipTo(java.lang.Long nextToken)`

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

### Method Detail

#### build

    public static TermIterator build(Expression e,
                                     java.util.Set<SSTableIndex> perSSTableIndexes)

#### computeNext

    protected Token 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<Token>`
Returns:
  the next element if there was one. If `endOfData` was called during execution, the return value will be ignored.

#### performSkipTo

    protected void performSkipTo(java.lang.Long nextToken)

Specified by:
  `performSkipTo` in class `RangeIterator<java.lang.Long,Token>`

#### close

    public void close()