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
`static DeletionInfo` `LIVE`

### Method Summary

All Methods Instance Methods Abstract Methods
`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)