org.apache.cassandra.db.partitions

## Class PurgeFunction

- java.lang.Object
- - org.apache.cassandra.db.transform.Transformation<UnfilteredRowIterator>
  - - org.apache.cassandra.db.partitions.PurgeFunction

    public abstract class PurgeFunction
    extends Transformation<UnfilteredRowIterator>

### Constructor Summary

Constructors
Constructor and Description
`PurgeFunction(boolean isForThrift, int nowInSec, int gcBefore, int oldestUnrepairedTombstone, boolean onlyPurgeRepairedTombstones, boolean enforceStrictLiveness)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected DeletionTime` `applyToDeletion(DeletionTime deletionTime)` Applied to the partition-level deletion of any rows iterator.
`protected RangeTombstoneMarker` `applyToMarker(RangeTombstoneMarker marker)` Applied to any RTM we encounter in a rows/unfiltered iterator
`protected UnfilteredRowIterator` `applyToPartition(UnfilteredRowIterator partition)` Applied to any rows iterator (partition) we encounter in a partitions iterator
`protected Row` `applyToRow(Row row)` Applied to any row we encounter in a rows iterator
`protected Row` `applyToStatic(Row row)` Applied to the static row of any rows iterator.
`protected abstract java.util.function.Predicate<java.lang.Long>` `getPurgeEvaluator()`
`protected void` `onEmptyPartitionPostPurge(DecoratedKey partitionKey)`
`protected void` `onNewPartition(DecoratedKey partitionKey)`
`protected void` `updateProgress()`

### Methods inherited from class org.apache.cassandra.db.transform.Transformation

`apply, apply, apply, apply, applyToPartitionColumns, applyToPartitionKey, onClose, onPartitionClose`

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

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

### Constructor Detail

#### PurgeFunction

    public PurgeFunction(boolean isForThrift,
                         int nowInSec,
                         int gcBefore,
                         int oldestUnrepairedTombstone,
                         boolean onlyPurgeRepairedTombstones,
                         boolean enforceStrictLiveness)

### Method Detail

#### getPurgeEvaluator

    protected abstract java.util.function.Predicate<java.lang.Long> getPurgeEvaluator()

#### onNewPartition

    protected void onNewPartition(DecoratedKey partitionKey)

#### onEmptyPartitionPostPurge

    protected void onEmptyPartitionPostPurge(DecoratedKey partitionKey)

#### updateProgress

    protected void updateProgress()

#### applyToPartition

    protected UnfilteredRowIterator applyToPartition(UnfilteredRowIterator partition)

Description copied from class: `Transformation`
Applied to any rows iterator (partition) we encounter in a partitions iterator

Overrides:
  `applyToPartition` in class `Transformation<UnfilteredRowIterator>`

#### applyToDeletion

    protected DeletionTime applyToDeletion(DeletionTime deletionTime)

Description copied from class: `Transformation`
Applied to the partition-level deletion of any rows iterator. NOTE that this is only applied to the first iterator in any sequence of iterators filled by a MoreContents; the static data for such iterators is all expected to be equal

Overrides:
  `applyToDeletion` in class `Transformation<UnfilteredRowIterator>`

#### applyToStatic

    protected Row applyToStatic(Row row)

Description copied from class: `Transformation`
Applied to the static row of any rows iterator. NOTE that this is only applied to the first iterator in any sequence of iterators filled by a MoreContents; the static data for such iterators is all expected to be equal

Overrides:
  `applyToStatic` in class `Transformation<UnfilteredRowIterator>`

#### applyToRow

    protected Row applyToRow(Row row)

Description copied from class: `Transformation`
Applied to any row we encounter in a rows iterator

Overrides:
  `applyToRow` in class `Transformation<UnfilteredRowIterator>`

#### applyToMarker

    protected RangeTombstoneMarker applyToMarker(RangeTombstoneMarker marker)

Description copied from class: `Transformation`
Applied to any RTM we encounter in a rows/unfiltered iterator

Overrides:
  `applyToMarker` in class `Transformation<UnfilteredRowIterator>`