org.apache.cassandra.db.partitions

## Class AbstractBTreePartition

- java.lang.Object
- - org.apache.cassandra.db.partitions.AbstractBTreePartition

All Implemented Interfaces:
  java.lang.Iterable<Row>, Partition

Direct Known Subclasses:
  AtomicBTreePartition, ImmutableBTreePartition, PartitionUpdate

    public abstract class AbstractBTreePartition
    extends java.lang.Object
    implements Partition, java.lang.Iterable<Row>

### Nested Class Summary

Nested Classes
`protected static class` `AbstractBTreePartition.Holder`
`class` `AbstractBTreePartition.SlicesIterator`

### Field Summary

Fields
`protected static AbstractBTreePartition.Holder` `EMPTY`
`protected CFMetaData` `metadata`
`protected DecoratedKey` `partitionKey`

### Constructor Summary

Constructors
`protected` `AbstractBTreePartition(CFMetaData metadata, DecoratedKey partitionKey)`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`protected static AbstractBTreePartition.Holder` `build(RowIterator rows, DeletionInfo deletion, boolean buildEncodingStats, int initialRowCapacity)`
`protected static AbstractBTreePartition.Holder` `build(UnfilteredRowIterator iterator, int initialRowCapacity)`
`protected static AbstractBTreePartition.Holder` `build(UnfilteredRowIterator iterator, int initialRowCapacity, boolean ordered)`
`protected abstract boolean` `canHaveShadowedData()`
`PartitionColumns` `columns()`
`DeletionInfo` `deletionInfo()`
`Row` `getRow(Clustering clustering)` Returns the row corresponding to the provided clustering, or null if there is not such row.
`boolean` `hasRows()`
`protected abstract AbstractBTreePartition.Holder` `holder()`
`boolean` `isEmpty()` Whether the partition object has no informations at all, including any deletion informations.
`java.util.Iterator<Row>` `iterator()`
`Row` `lastRow()`
`CFMetaData` `metadata()`
`DecoratedKey` `partitionKey()`
`DeletionTime` `partitionLevelDeletion()`
`int` `rowCount()`
`SearchIterator<Clustering,Row>` `searchIterator(ColumnFilter columns, boolean reversed)` Returns an iterator that allows to search specific rows efficiently.
`Row` `staticRow()`
`EncodingStats` `stats()`
`java.lang.String` `toString()`
`UnfilteredRowIterator` `unfilteredIterator()` Returns an UnfilteredRowIterator over all the rows/RT contained by this partition.
`UnfilteredRowIterator` `unfilteredIterator(AbstractBTreePartition.Holder current, ColumnFilter selection, Slices slices, boolean reversed)`
`UnfilteredRowIterator` `unfilteredIterator(ColumnFilter selection, Slices slices, boolean reversed)` Returns an UnfilteredRowIterator over the rows/RT contained by this partition selected by the provided slices.

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

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

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

`forEach, spliterator`

### Field Detail

#### EMPTY

    protected static final AbstractBTreePartition.Holder EMPTY

#### metadata

    protected final CFMetaData metadata

#### partitionKey

    protected final DecoratedKey partitionKey

### Constructor Detail

#### AbstractBTreePartition

    protected AbstractBTreePartition(CFMetaData metadata,
                                     DecoratedKey partitionKey)

### Method Detail

#### holder

    protected abstract AbstractBTreePartition.Holder holder()

#### canHaveShadowedData

    protected abstract boolean canHaveShadowedData()

#### deletionInfo

    public DeletionInfo deletionInfo()

#### staticRow

    public Row staticRow()

#### isEmpty

    public boolean isEmpty()

Description copied from interface: `Partition`
Whether the partition object has no informations at all, including any deletion informations.

Specified by:
  `isEmpty` in interface `Partition`

#### hasRows

    public boolean hasRows()

#### metadata

    public CFMetaData metadata()

Specified by:
  `metadata` in interface `Partition`

#### partitionKey

    public DecoratedKey partitionKey()

Specified by:
  `partitionKey` in interface `Partition`

#### partitionLevelDeletion

    public DeletionTime partitionLevelDeletion()

Specified by:
  `partitionLevelDeletion` in interface `Partition`

#### columns

    public PartitionColumns columns()

Specified by:
  `columns` in interface `Partition`

#### stats

    public EncodingStats stats()

Specified by:
  `stats` in interface `Partition`

#### getRow

    public Row getRow(Clustering clustering)

Description copied from interface: `Partition`
Returns the row corresponding to the provided clustering, or null if there is not such row.

Specified by:
  `getRow` in interface `Partition`

#### searchIterator

    public SearchIterator<Clustering,Row> searchIterator(ColumnFilter columns,
                                                         boolean reversed)

Description copied from interface: `Partition`
Returns an iterator that allows to search specific rows efficiently.

Specified by:
  `searchIterator` in interface `Partition`

#### unfilteredIterator

    public UnfilteredRowIterator unfilteredIterator()

Description copied from interface: `Partition`
Returns an UnfilteredRowIterator over all the rows/RT contained by this partition.

Specified by:
  `unfilteredIterator` in interface `Partition`

#### unfilteredIterator

    public UnfilteredRowIterator unfilteredIterator(ColumnFilter selection,
                                                    Slices slices,
                                                    boolean reversed)

Description copied from interface: `Partition`
Returns an UnfilteredRowIterator over the rows/RT contained by this partition selected by the provided slices.

Specified by:
  `unfilteredIterator` in interface `Partition`

#### unfilteredIterator

    public UnfilteredRowIterator unfilteredIterator(AbstractBTreePartition.Holder current,
                                                    ColumnFilter selection,
                                                    Slices slices,
                                                    boolean reversed)

#### build

    protected static AbstractBTreePartition.Holder build(UnfilteredRowIterator iterator,
                                                         int initialRowCapacity)

#### build

    protected static AbstractBTreePartition.Holder build(UnfilteredRowIterator iterator,
                                                         int initialRowCapacity,
                                                         boolean ordered)

#### build

    protected static AbstractBTreePartition.Holder build(RowIterator rows,
                                                         DeletionInfo deletion,
                                                         boolean buildEncodingStats,
                                                         int initialRowCapacity)

#### toString

    public java.lang.String toString()

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

#### rowCount

    public int rowCount()

#### iterator

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

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

#### lastRow

    public Row lastRow()