org.apache.cassandra.db.rows

## Class ComplexColumnData

- java.lang.Object
- - org.apache.cassandra.db.rows.ColumnData
  - - org.apache.cassandra.db.rows.ComplexColumnData

- All Implemented Interfaces:
    java.lang.Iterable<Cell>

      public class ComplexColumnData
      extends ColumnData
      implements java.lang.Iterable<Cell>

  The data for a complex column, that is it's cells and potential complex deletion time.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ComplexColumnData.Builder`

  - ### Field Summary

    - ### Fields inherited from class org.apache.cassandra.db.rows.ColumnData

      `column, comparator`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ComplexColumnData.Builder` | `builder()`
    `int` | `cellsCount()`
    `DeletionTime` | `complexDeletion()` The complex deletion time of the complex column.
    `int` | `dataSize()` The size of the data hold by this `ColumnData`.
    `void` | `digest(java.security.MessageDigest digest)` Adds the data to the provided digest.
    `boolean` | `equals(java.lang.Object other)`
    `ComplexColumnData` | `filter(ColumnFilter filter, DeletionTime activeDeletion, CFMetaData.DroppedColumn dropped, LivenessInfo rowLiveness)`
    `Cell` | `getCell(CellPath path)`
    `Cell` | `getCellByIndex(int idx)`
    `boolean` | `hasCells()`
    `int` | `hashCode()`
    `java.util.Iterator<Cell>` | `iterator()`
    `ComplexColumnData` | `markCounterLocalToBeCleared()`
    `long` | `maxTimestamp()`
    `ComplexColumnData` | `purge(DeletionPurger purger, int nowInSec)`
    `java.util.Iterator<Cell>` | `reverseIterator()`
    `long` | `unsharedHeapSizeExcludingData()`
    `ComplexColumnData` | `updateAllTimestamp(long newTimestamp)` Returns a copy of the data where all timestamps for live data have replaced by `newTimestamp` and all deletion timestamp by `newTimestamp - 1`.
    `void` | `validate()` Validate the column data.
    `ComplexColumnData` | `withOnlyQueriedData(ColumnFilter filter)`

    - ### Methods inherited from class org.apache.cassandra.db.rows.ColumnData

      `column`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Method Detail

    - #### hasCells

          public boolean hasCells()

    - #### cellsCount

          public int cellsCount()

    - #### getCell

          public Cell getCell(CellPath path)

    - #### getCellByIndex

          public Cell getCellByIndex(int idx)

    - #### complexDeletion

          public DeletionTime complexDeletion()

      The complex deletion time of the complex column.

      The returned "complex deletion" is a deletion of all the cells of the column. For instance, for a collection, this correspond to a full collection deletion. Please note that this deletion says nothing about the individual cells of the complex column: there can be no complex deletion but some of the individual cells can be deleted.

      Returns:
        the complex deletion time for the column this is the data of or `DeletionTime.LIVE` if the column is not deleted.

    - #### iterator

          public java.util.Iterator<Cell> iterator()

      Specified by:
        `iterator` in interface `java.lang.Iterable<Cell>`

    - #### reverseIterator

          public java.util.Iterator<Cell> reverseIterator()

    - #### dataSize

          public int dataSize()

      Description copied from class: `ColumnData`
      The size of the data hold by this `ColumnData`.
      Specified by:
        `dataSize` in class `ColumnData`
      Returns:
        the size used by the data of this `ColumnData`.

    - #### unsharedHeapSizeExcludingData

          public long unsharedHeapSizeExcludingData()

      Specified by:
        `unsharedHeapSizeExcludingData` in class `ColumnData`

    - #### validate

          public void validate()

      Description copied from class: `ColumnData`
      Validate the column data.
      Specified by:
        `validate` in class `ColumnData`

    - #### digest

          public void digest(java.security.MessageDigest digest)

      Description copied from class: `ColumnData`
      Adds the data to the provided digest.
      Specified by:
        `digest` in class `ColumnData`
      Parameters:
        `digest` - the `MessageDigest` to add the data to.

    - #### markCounterLocalToBeCleared

          public ComplexColumnData markCounterLocalToBeCleared()

      Specified by:
        `markCounterLocalToBeCleared` in class `ColumnData`

    - #### filter

          public ComplexColumnData filter(ColumnFilter filter,
                                          DeletionTime activeDeletion,
                                          CFMetaData.DroppedColumn dropped,
                                          LivenessInfo rowLiveness)

    - #### purge

          public ComplexColumnData purge(DeletionPurger purger,
                                         int nowInSec)

      Specified by:
        `purge` in class `ColumnData`

    - #### withOnlyQueriedData

          public ComplexColumnData withOnlyQueriedData(ColumnFilter filter)

    - #### updateAllTimestamp

          public ComplexColumnData updateAllTimestamp(long newTimestamp)

      Description copied from class: `ColumnData`
      Returns a copy of the data where all timestamps for live data have replaced by `newTimestamp` and all deletion timestamp by `newTimestamp - 1`. This exists for the Paxos path, see `PartitionUpdate.updateAllTimestamp(long)` for additional details.
      Specified by:
        `updateAllTimestamp` in class `ColumnData`

    - #### maxTimestamp

          public long maxTimestamp()

      Specified by:
        `maxTimestamp` in class `ColumnData`

    - #### equals

          public boolean equals(java.lang.Object other)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### builder

          public static ComplexColumnData.Builder builder()

Copyright © 2018 The Apache Software Foundation