Class ObjectId

    • Constructor Detail

      • 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​(Date date,
                        int counter)
        Constructs a new instances using the given date and counter.
        Parameters:
        date - the date
        counter - the counter
        Throws:
        IllegalArgumentException - if the high order byte of counter is not zero
      • ObjectId

        public ObjectId​(int timestamp,
                        int counter)
        Creates an ObjectId using the given time, machine identifier, process identifier, and counter.
        Parameters:
        timestamp - the time in seconds
        counter - the counter
        Throws:
        IllegalArgumentException - if the high order byte of counter is not zero
      • 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 Detail

      • get

        public static ObjectId get()
        Gets a new object id.
        Returns:
        the new id
      • isValid

        public static boolean isValid​(String hexString)
        Checks if a string could be an ObjectId.
        Parameters:
        hexString - a potential ObjectId as a String.
        Returns:
        whether the string could be an object id
        Throws:
        IllegalArgumentException - if hexString is null
      • 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
      • getTimestamp

        public int getTimestamp()
        Gets the timestamp (number of seconds since the Unix epoch).
        Returns:
        the timestamp
      • 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
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object