org.apache.cassandra.db.aggregation

## Class GroupingState

- java.lang.Object
- - org.apache.cassandra.db.aggregation.GroupingState

    public final class GroupingState
    extends java.lang.Object

`GroupMaker` state.

The state contains the primary key of the last row that has been processed by the previous `GroupMaker` used. It can be passed to a `GroupMaker` to allow to resuming the grouping.

`GroupingState` is only used for internal paging. When a new page is requested by a client the initial state will always be empty.

If the state has a partition key but no clustering, it means that the previous group ended at the end of the previous partition. If the clustering is not null it means that we are in the middle of a group.

### Nested Class Summary

Nested Classes
`static class` `GroupingState.Serializer`

### Field Summary

Fields
`static GroupingState` `EMPTY_STATE`
`static GroupingState.Serializer` `serializer`

### Constructor Summary

Constructors
Constructor and Description
`GroupingState(java.nio.ByteBuffer partitionKey, Clustering clustering)`

### Method Summary

All Methods Instance Methods Concrete Methods
`Clustering` `clustering()` Returns the last row clustering or `null` if either no rows has been processed yet or the last row was a static row.
`boolean` `hasClustering()` Checks if the state contains a Clustering for the last row that has been processed.
`java.nio.ByteBuffer` `partitionKey()` Returns the last row partition key or `null` if no rows has been processed yet.

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

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

### Field Detail

#### serializer

    public static final GroupingState.Serializer serializer

#### EMPTY_STATE

    public static final GroupingState EMPTY_STATE

### Constructor Detail

#### GroupingState

    public GroupingState(java.nio.ByteBuffer partitionKey,
                         Clustering clustering)

### Method Detail

#### partitionKey

    public java.nio.ByteBuffer partitionKey()

Returns the last row partition key or `null` if no rows has been processed yet.

Returns:
  the last row partition key or `null` if no rows has been processed yet

#### clustering

    public Clustering clustering()

Returns the last row clustering or `null` if either no rows has been processed yet or the last row was a static row.

Returns:
  he last row clustering or `null` if either no rows has been processed yet or the last row was a static row

#### hasClustering

    public boolean hasClustering()

Checks if the state contains a Clustering for the last row that has been processed.

Returns:
  `true` if the state contains a Clustering for the last row that has been processed, `false` otherwise.