Slice (apache-cassandra API)
Date: 2018-02-14

org.apache.cassandra.db

## Class Slice

- java.lang.Object
- - org.apache.cassandra.db.Slice

-     public class Slice
      extends java.lang.Object

  A slice represents the selection of a range of rows.

  A slice has a start and an end bound that are both (potentially full) clustering prefixes. A slice selects every rows whose clustering is bigger than the slice start prefix but smaller than the end prefix. Both start and end can be either inclusive or exclusive.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Slice.Serializer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Slice` | `ALL` The slice selecting all rows (of a given partition)
    `static Slice.Serializer` | `serializer`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ClusteringBound` | `close(boolean reversed)`
    `ClusteringBound` | `end()`
    `boolean` | `equals(java.lang.Object other)`
    `Slice` | `forPaging(ClusteringComparator comparator, Clustering lastReturned, boolean inclusive, boolean reversed)` Returns a slice for continuing paging from the last returned clustering prefix.
    `int` | `hashCode()`
    `boolean` | `includes(ClusteringComparator comparator, ClusteringPrefix bound)` Returns whether a given clustering or bound is included in this slice.
    `boolean` | `intersects(ClusteringComparator comparator, java.util.List<java.nio.ByteBuffer> minClusteringValues, java.util.List<java.nio.ByteBuffer> maxClusteringValues)` Given the per-clustering column minimum and maximum value a sstable contains, whether or not this slice potentially intersects that sstable or not.
    `boolean` | `isEmpty(ClusteringComparator comparator)` Return whether the slice is empty.
    `static boolean` | `isEmpty(ClusteringComparator comparator, ClusteringBound start, ClusteringBound end)` Return whether the slice formed by the two provided bound is empty or not.
    `static Slice` | `make(Clustering clustering)`
    `static Slice` | `make(ClusteringBound start, ClusteringBound end)`
    `static Slice` | `make(Clustering start, Clustering end)`
    `static Slice` | `make(ClusteringComparator comparator, java.lang.Object... values)`
    `ClusteringBound` | `open(boolean reversed)`
    `ClusteringBound` | `start()`
    `java.lang.String` | `toString(CFMetaData metadata)`
    `java.lang.String` | `toString(ClusteringComparator comparator)`

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

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

- - ### Field Detail

    - #### serializer

          public static final Slice.Serializer serializer

    - #### ALL

          public static final Slice ALL

      The slice selecting all rows (of a given partition)

  - ### Method Detail

    - #### make

          public static Slice make(ClusteringBound start,
                                   ClusteringBound end)

    - #### make

          public static Slice make(ClusteringComparator comparator,
                                   java.lang.Object... values)

    - #### make

          public static Slice make(Clustering clustering)

    - #### make

          public static Slice make(Clustering start,
                                   Clustering end)

    - #### start

          public ClusteringBound start()

    - #### end

          public ClusteringBound end()

    - #### open

          public ClusteringBound open(boolean reversed)

    - #### close

          public ClusteringBound close(boolean reversed)

    - #### isEmpty

          public boolean isEmpty(ClusteringComparator comparator)

      Return whether the slice is empty.
      Parameters:
        `comparator` - the comparator to compare the bounds.
      Returns:
        whether the slice formed is empty or not.

    - #### isEmpty

          public static boolean isEmpty(ClusteringComparator comparator,
                                        ClusteringBound start,
                                        ClusteringBound end)

      Return whether the slice formed by the two provided bound is empty or not.
      Parameters:
        `comparator` - the comparator to compare the bounds.
        `start` - the start for the slice to consider. This must be a start bound.
        `end` - the end for the slice to consider. This must be an end bound.
      Returns:
        whether the slice formed by `start` and `end` is empty or not.

    - #### includes

          public boolean includes(ClusteringComparator comparator,
                                  ClusteringPrefix bound)

      Returns whether a given clustering or bound is included in this slice.
      Parameters:
        `comparator` - the comparator for the table this is a slice of.
        `bound` - the bound to test inclusion of.
      Returns:
        whether `bound` is within the bounds of this slice.

    - #### forPaging

          public Slice forPaging(ClusteringComparator comparator,
                                 Clustering lastReturned,
                                 boolean inclusive,
                                 boolean reversed)

      Returns a slice for continuing paging from the last returned clustering prefix.
      Parameters:
        `comparator` - the comparator for the table this is a filter for.
        `lastReturned` - the last clustering that was returned for the query we are paging for. The resulting slices will be such that only results coming stricly after `lastReturned` are returned (where coming after means "greater than" if `!reversed` and "lesser than" otherwise).
        `inclusive` - whether or not we want to include the `lastReturned` in the newly returned page of results.
        `reversed` - whether the query we're paging for is reversed or not.
      Returns:
        a new slice that selects results coming after `lastReturned`, or `null` if paging the resulting slice selects nothing (i.e. if it originally selects nothing coming after `lastReturned`).

    - #### intersects

          public boolean intersects(ClusteringComparator comparator,
                                    java.util.List<java.nio.ByteBuffer> minClusteringValues,
                                    java.util.List<java.nio.ByteBuffer> maxClusteringValues)

      Given the per-clustering column minimum and maximum value a sstable contains, whether or not this slice potentially intersects that sstable or not.
      Parameters:
        `comparator` - the comparator for the table this is a slice of.
        `minClusteringValues` - the smallest values for each clustering column that a sstable contains.
        `maxClusteringValues` - the biggest values for each clustering column that a sstable contains.
      Returns:
        whether the slice might intersects with the sstable having `minClusteringValues` and `maxClusteringValues`.

    - #### toString

          public java.lang.String toString(CFMetaData metadata)

    - #### toString

          public java.lang.String toString(ClusteringComparator comparator)

    - #### equals

          public boolean equals(java.lang.Object other)

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

    - #### hashCode

          public int hashCode()

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

Copyright © 2018 The Apache Software Foundation