Class SsFormat (6.119.0)
Stay organized with collections
Save and categorize content based on your preferences.
6.119.0 (latest)
6.118.0
6.116.0
6.111.1
6.108.0
6.107.0
6.103.0
6.102.1
6.101.1
6.100.0
6.99.0
6.98.1
6.97.1
6.96.1
6.95.1
6.94.0
6.93.0
6.89.0
6.88.0
6.87.0
6.86.0
6.85.0
6.83.0
6.82.0
6.80.1
6.79.0
6.77.0
6.74.1
6.72.0
6.71.0
6.69.0
6.68.0
6.66.0
6.65.1
6.62.0
6.60.0
6.58.0
6.57.0
6.56.0
6.55.0
6.54.0
6.53.0
6.52.1
6.51.0
6.50.1
6.49.0
6.25.1
6.24.0
6.23.4
6.22.0
6.21.2
6.20.0
6.19.1
6.18.0
6.17.4
6.14.1
public final class SsFormat
Sortable String Format encoding utilities for Spanner keys.
This class provides methods to encode various data types into a byte format that preserves
lexicographic ordering. The encoding supports both increasing and decreasing sort orders.
Static Methods
public static void appendBoolDecreasing ( UnsynchronizedByteArrayOutputStream out , boolean value )
Appends a boolean value in descending (decreasing) sort order.
Boolean values are encoded using unsigned integer encoding where false=0 and true=1, then
inverted for descending order. This preserves reverse ordering where true < false.
public static void appendBoolIncreasing ( UnsynchronizedByteArrayOutputStream out , boolean value )
Appends a boolean value in ascending (increasing) sort order.
Boolean values are encoded using unsigned integer encoding where false=0 and true=1. This
preserves the natural ordering where false < true.
public static void appendBytesDecreasing ( UnsynchronizedByteArrayOutputStream out , byte [] value )
public static void appendBytesIncreasing ( UnsynchronizedByteArrayOutputStream out , byte [] value )
public static void appendCompositeTag ( UnsynchronizedByteArrayOutputStream out , int tag )
public static void appendDoubleDecreasing ( UnsynchronizedByteArrayOutputStream out , double value )
public static void appendDoubleIncreasing ( UnsynchronizedByteArrayOutputStream out , double value )
public static void appendInt64Decreasing ( UnsynchronizedByteArrayOutputStream out , long value )
public static void appendInt64Increasing ( UnsynchronizedByteArrayOutputStream out , long value )
public static void appendNotNullMarkerNullOrderedFirst ( UnsynchronizedByteArrayOutputStream out )
public static void appendNotNullMarkerNullOrderedLast ( UnsynchronizedByteArrayOutputStream out )
public static void appendNullOrderedFirst ( UnsynchronizedByteArrayOutputStream out )
public static void appendNullOrderedLast ( UnsynchronizedByteArrayOutputStream out )
public static void appendStringDecreasing ( UnsynchronizedByteArrayOutputStream out , String value )
public static void appendStringIncreasing ( UnsynchronizedByteArrayOutputStream out , String value )
public static byte [] encodeTimestamp ( long seconds , int nanos )
Encodes a timestamp as 12 bytes: 8 bytes for seconds since epoch (with offset to handle
negative), 4 bytes for nanoseconds.
Parameters
Name
Description
seconds
long
nanos
int
Returns
Type
Description
byte []
public static byte [] encodeUuid ( long high , long low )
Encodes a UUID (128-bit) as 16 bytes in big-endian order.
Parameters
Name
Description
high
long
low
long
Returns
Type
Description
byte []
public static ByteString makePrefixSuccessor ( ByteString key )
Makes the given key a prefix successor. This means that the returned key is the smallest
possible key that is larger than the input key, and that does not have the input key as a
prefix.
This is done by flipping the least significant bit of the last byte of the key.
Parameter
Name
Description
key
ByteString The key to make a prefix successor.
Returns
Type
Description
ByteString
The prefix successor key.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-07-31 UTC.
[null,null,["Last updated 2026-07-31 UTC."],[],[]]