Class KeySet

  • All Implemented Interfaces:
    Serializable

    public final class KeySet
    extends Object
    implements Serializable
    Defines a collection of Cloud Spanner keys and/or key ranges. All the keys are expected to be in the same table or index. The keys need not be sorted in any particular way.

    If the same key is specified multiple times in the set (for example if two ranges, two keys, or a key and a range overlap), the Cloud Spanner backend behaves as if the key were only specified once. However, the KeySet object itself does not perform any de-duplication.

    KeySet instances are immutable.

    See Also:
    Serialized Form
    • Method Detail

      • singleKey

        public static KeySet singleKey​(Key key)
        Creates a key set containing a single key. key should contain exactly as many elements as there are columns in the primary or index key with this this key set is used.
      • range

        public static KeySet range​(KeyRange range)
        Creates a key set containing a single range. See KeyRange for details of how to specify ranges.
      • prefixRange

        public static KeySet prefixRange​(Key prefix)
        Creates a key set that covers all keys where the first prefix.size() components match prefix exactly.
      • all

        public static KeySet all()
        Creates a key set that will retrieve all rows of a table or index.
      • newBuilder

        public static KeySet.Builder newBuilder()
        Returns a new builder that can be used to construct a key set.
      • getKeys

        public Iterable<Key> getKeys()
        Returns the keys in this set.
      • getRanges

        public Iterable<KeyRange> getRanges()
        Returns the ranges in this set.
      • isAll

        public boolean isAll()
        Indicates whether the set will retrieve all rows in a table or index.
      • toBuilder

        public KeySet.Builder toBuilder()
        Returns a builder initialized with the contents of this set.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object