org.apache.cassandra.db.rows

## Class LazilyInitializedUnfilteredRowIterator

- java.lang.Object
- - org.apache.cassandra.utils.AbstractIterator<Unfiltered>
  - - org.apache.cassandra.db.rows.LazilyInitializedUnfilteredRowIterator

All Implemented Interfaces:
  com.google.common.collect.PeekingIterator<Unfiltered>, java.lang.AutoCloseable, java.util.Iterator<Unfiltered>, BaseRowIterator<Unfiltered>, UnfilteredRowIterator, CloseableIterator<Unfiltered>

Direct Known Subclasses:
  UnfilteredRowIteratorWithLowerBound

    public abstract class LazilyInitializedUnfilteredRowIterator
    extends AbstractIterator<Unfiltered>
    implements UnfilteredRowIterator

Abstract class to create UnfilteredRowIterator that lazily initialize themselves. This is used during partition range queries when we know the partition key but want to defer the initialization of the rest of the UnfilteredRowIterator until we need those informations. See `BigTableScanner.KeyScanningIterator` for instance.

### Constructor Summary

Constructors
Constructor and Description
`LazilyInitializedUnfilteredRowIterator(DecoratedKey partitionKey)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`void` `close()`
`PartitionColumns` `columns()` A subset of the columns for the (static and regular) rows returned by this iterator.
`protected Unfiltered` `computeNext()`
`boolean` `initialized()`
`protected abstract UnfilteredRowIterator` `initializeIterator()`
`boolean` `isReverseOrder()` Whether or not the rows returned by this iterator are in reversed clustering order.
`protected void` `maybeInit()`
`CFMetaData` `metadata()` The metadata for the table this iterator on.
`DecoratedKey` `partitionKey()` The partition key of the partition this in an iterator over.
`DeletionTime` `partitionLevelDeletion()` The partition level deletion for the partition this iterate over.
`Row` `staticRow()` The static part corresponding to this partition (this can be an empty row but cannot be `null`).
`EncodingStats` `stats()` Return "statistics" about what is returned by this iterator.

### Methods inherited from class org.apache.cassandra.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 org.apache.cassandra.db.rows.UnfilteredRowIterator

`isEmpty`

### Methods inherited from interface java.util.Iterator

`forEachRemaining, hasNext, next, remove`

### Constructor Detail

#### LazilyInitializedUnfilteredRowIterator

    public LazilyInitializedUnfilteredRowIterator(DecoratedKey partitionKey)

### Method Detail

#### initializeIterator

    protected abstract UnfilteredRowIterator initializeIterator()

#### maybeInit

    protected void maybeInit()

#### initialized

    public boolean initialized()

#### metadata

    public CFMetaData metadata()

Description copied from interface: `BaseRowIterator`
The metadata for the table this iterator on.

Specified by:
  `metadata` in interface `BaseRowIterator<Unfiltered>`

#### columns

    public PartitionColumns columns()

Description copied from interface: `BaseRowIterator`
A subset of the columns for the (static and regular) rows returned by this iterator. Every row returned by this iterator must guarantee that it has only those columns.

Specified by:
  `columns` in interface `BaseRowIterator<Unfiltered>`

#### isReverseOrder

    public boolean isReverseOrder()

Description copied from interface: `BaseRowIterator`
Whether or not the rows returned by this iterator are in reversed clustering order.

Specified by:
  `isReverseOrder` in interface `BaseRowIterator<Unfiltered>`

#### partitionKey

    public DecoratedKey partitionKey()

Description copied from interface: `BaseRowIterator`
The partition key of the partition this in an iterator over.

Specified by:
  `partitionKey` in interface `BaseRowIterator<Unfiltered>`

#### partitionLevelDeletion

    public DeletionTime partitionLevelDeletion()

Description copied from interface: `UnfilteredRowIterator`
The partition level deletion for the partition this iterate over.

Specified by:
  `partitionLevelDeletion` in interface `UnfilteredRowIterator`

#### staticRow

    public Row staticRow()

Description copied from interface: `BaseRowIterator`
The static part corresponding to this partition (this can be an empty row but cannot be `null`).

Specified by:
  `staticRow` in interface `BaseRowIterator<Unfiltered>`

#### stats

    public EncodingStats stats()

Description copied from interface: `UnfilteredRowIterator`
Return "statistics" about what is returned by this iterator. Those are used for performance reasons (for delta-encoding for instance) and code should not expect those to be exact.

Specified by:
  `stats` in interface `UnfilteredRowIterator`

#### computeNext

    protected Unfiltered computeNext()

Specified by:
  `computeNext` in class `AbstractIterator<Unfiltered>`

#### close

    public void close()

Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in interface `CloseableIterator<Unfiltered>`