org.apache.cassandra.db.rows

## Class WrappingUnfilteredRowIterator

- java.lang.Object
- - com.google.common.collect.UnmodifiableIterator<Unfiltered>
  - - org.apache.cassandra.db.rows.WrappingUnfilteredRowIterator

- All Implemented Interfaces:
    java.lang.AutoCloseable, java.util.Iterator<Unfiltered>, BaseRowIterator<Unfiltered>, UnfilteredRowIterator, CloseableIterator<Unfiltered>

      public abstract class WrappingUnfilteredRowIterator
      extends com.google.common.collect.UnmodifiableIterator<Unfiltered>
      implements UnfilteredRowIterator

  Abstract class to make writing unfiltered iterators that wrap another iterator easier. By default, the wrapping iterator simply delegate every call to the wrapped iterator so concrete implementations will have to override some of the methods.

  Note that if most of what you want to do is modifying/filtering the returned `Unfiltered`, `Transformation.apply(UnfilteredRowIterator,Transformation)` can be a simpler option.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected UnfilteredRowIterator` | `wrapped`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `WrappingUnfilteredRowIterator(UnfilteredRowIterator wrapped)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `PartitionColumns` | `columns()` A subset of the columns for the (static and regular) rows returned by this iterator.
    `boolean` | `hasNext()`
    `boolean` | `isReverseOrder()` Whether or not the rows returned by this iterator are in reversed clustering order.
    `CFMetaData` | `metadata()` The metadata for the table this iterator on.
    `Unfiltered` | `next()`
    `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 com.google.common.collect.UnmodifiableIterator

      `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, remove`

- - ### Field Detail

    - #### wrapped

          protected final UnfilteredRowIterator wrapped

  - ### Constructor Detail

    - #### WrappingUnfilteredRowIterator

          protected WrappingUnfilteredRowIterator(UnfilteredRowIterator wrapped)

  - ### Method Detail

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

    - #### hasNext

          public boolean hasNext()

      Specified by:
        `hasNext` in interface `java.util.Iterator<Unfiltered>`

    - #### next

          public Unfiltered next()

      Specified by:
        `next` in interface `java.util.Iterator<Unfiltered>`

    - #### close

          public void close()

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

Copyright © 2018 The Apache Software Foundation