Class ObjectId

java.lang.Object
com.datastax.astra.client.model.ObjectId
All Implemented Interfaces:
Serializable, Comparable<ObjectId>

public final class ObjectId extends Object implements Comparable<ObjectId>, Serializable

A globally unique identifier for objects.

Consists of 12 bytes, divided as follows:

ObjectID layout
01234567891011
timerandom valueinc
See Also:
  • Constructor Details

    • ObjectId

      public ObjectId()
      Create a new object id.
    • ObjectId

      public ObjectId(Date date)
      Constructs a new instance using the given date.
      Parameters:
      date - the date
    • ObjectId

      public ObjectId(String hexString)
      Constructs a new instance from a 24-byte hexadecimal string representation.
      Parameters:
      hexString - the string to convert
      Throws:
      IllegalArgumentException - if the string is not a valid hex string representation of an ObjectId
    • ObjectId

      public ObjectId(byte[] bytes)
      Constructs a new instance from the given byte array
      Parameters:
      bytes - the byte array
      Throws:
      IllegalArgumentException - if array is null or not of length 12
    • ObjectId

      public ObjectId(ByteBuffer buffer)
      Constructs a new instance from the given ByteBuffer
      Parameters:
      buffer - the ByteBuffer
      Throws:
      IllegalArgumentException - if the buffer is null or does not have at least 12 bytes remaining
      Since:
      3.4
  • Method Details

    • toByteArray

      public byte[] toByteArray()
      Convert to a byte array. Note that the numbers are stored in big-endian order.
      Returns:
      the byte array
    • putToByteBuffer

      public void putToByteBuffer(ByteBuffer buffer)
      Convert to bytes and put those bytes to the provided ByteBuffer. Note that the numbers are stored in big-endian order.
      Parameters:
      buffer - the ByteBuffer
      Throws:
      IllegalArgumentException - if the buffer is null or does not have at least 12 bytes remaining
      Since:
      3.4
    • getDate

      public Date getDate()
      Gets the timestamp as a Date instance.
      Returns:
      the Date
    • toHexString

      public String toHexString()
      Converts this instance into a 24-byte hexadecimal string representation.
      Returns:
      a string representation of the ObjectId in hexadecimal format
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • compareTo

      public int compareTo(ObjectId other)
      Specified by:
      compareTo in interface Comparable<ObjectId>
    • toString

      public String toString()
      Overrides:
      toString in class Object