java.lang.Object
org.apache.cassandra.cql3.functions.types.utils.Bytes

public final class Bytes extends Object
Simple utility methods to make working with bytes (blob) easier.
  • Method Details

    • toHexString

      public static String toHexString(ByteBuffer bytes)
      Converts a blob to its CQL hex string representation.

      A CQL blob string representation consist of the hexadecimal representation of the blob bytes prefixed by "0x".

      Parameters:
      bytes - the blob/bytes to convert to a string.
      Returns:
      the CQL string representation of bytes. If bytes is null, this method returns null.
    • toHexString

      public static String toHexString(byte[] byteArray)
      Converts a blob to its CQL hex string representation.

      A CQL blob string representation consist of the hexadecimal representation of the blob bytes prefixed by "0x".

      Parameters:
      byteArray - the blob/bytes array to convert to a string.
      Returns:
      the CQL string representation of bytes. If bytes is null, this method returns null.
    • fromHexString

      public static ByteBuffer fromHexString(String str)
      Parse an hex string representing a CQL blob.

      The input should be a valid representation of a CQL blob, i.e. it must start by "0x" followed by the hexadecimal representation of the blob bytes.

      Parameters:
      str - the CQL blob string representation to parse.
      Returns:
      the bytes corresponding to str. If str is null, this method returns null.
      Throws:
      IllegalArgumentException - if str is not a valid CQL blob string.
    • getArray

      public static byte[] getArray(ByteBuffer bytes)
      Extract the content of the provided ByteBuffer as a byte array.

      This method work with any type of ByteBuffer (direct and non-direct ones), but when the ByteBuffer is backed by an array, this method will try to avoid copy when possible. As a consequence, changes to the returned byte array may or may not reflect into the initial ByteBuffer.

      Parameters:
      bytes - the buffer whose content to extract.
      Returns:
      a byte array with the content of bytes. That array may be the array backing bytes if this can avoid a copy.