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
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `GroupingState.Serializer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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.

Copyright © 2018 The Apache Software Foundation