DeletionInfo (apache-cassandra API)
Date: 2018-02-14

org.apache.cassandra.db

## Interface DeletionInfo

- All Superinterfaces:
    IMeasurableMemory
  All Known Implementing Classes:
    MutableDeletionInfo

      public interface DeletionInfo
      extends IMeasurableMemory

  A combination of a top-level (partition) tombstone and range tombstones describing the deletions within a partition.

  Note that in practice `MutableDeletionInfo` is the only concrete implementation of this, however different parts of the code will return either `DeletionInfo` or `MutableDeletionInfo` based on whether it can/should be mutated or not.

  Warning: do not ever cast a `DeletionInfo` into a `MutableDeletionInfo` to mutate it!!! TODO: it would be safer to have 2 actual implementation of DeletionInfo, one mutable and one that isn't (I'm just lazy right this minute).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static DeletionInfo` | `LIVE`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `collectStats(EncodingStats.Collector collector)`
    `DeletionInfo` | `copy(AbstractAllocator allocator)`
    `int` | `dataSize()`
    `DeletionTime` | `getPartitionDeletion()`
    `boolean` | `hasRanges()`
    `boolean` | `isLive()` Returns whether this DeletionInfo is live, that is deletes no columns.
    `long` | `maxTimestamp()`
    `boolean` | `mayModify(DeletionInfo delInfo)` Whether this deletion info may modify the provided one if added to it.
    `MutableDeletionInfo` | `mutableCopy()`
    `int` | `rangeCount()`
    `RangeTombstone` | `rangeCovering(Clustering name)`
    `java.util.Iterator<RangeTombstone>` | `rangeIterator(boolean reversed)`
    `java.util.Iterator<RangeTombstone>` | `rangeIterator(Slice slice, boolean reversed)`

    - ### Methods inherited from interface org.apache.cassandra.cache.IMeasurableMemory

      `unsharedHeapSize`

- - ### Field Detail

    - #### LIVE

          static final DeletionInfo LIVE

  - ### Method Detail

    - #### isLive

          boolean isLive()

      Returns whether this DeletionInfo is live, that is deletes no columns.

    - #### getPartitionDeletion

          DeletionTime getPartitionDeletion()

    - #### rangeIterator

          java.util.Iterator<RangeTombstone> rangeIterator(boolean reversed)

    - #### rangeIterator

          java.util.Iterator<RangeTombstone> rangeIterator(Slice slice,
                                                           boolean reversed)

    - #### rangeCovering

          RangeTombstone rangeCovering(Clustering name)

    - #### collectStats

          void collectStats(EncodingStats.Collector collector)

    - #### dataSize

          int dataSize()

    - #### hasRanges

          boolean hasRanges()

    - #### rangeCount

          int rangeCount()

    - #### maxTimestamp

          long maxTimestamp()

    - #### mayModify

          boolean mayModify(DeletionInfo delInfo)

      Whether this deletion info may modify the provided one if added to it.

    - #### mutableCopy

          MutableDeletionInfo mutableCopy()

    - #### copy

          DeletionInfo copy(AbstractAllocator allocator)

Copyright © 2018 The Apache Software Foundation