Package org.bson.types
Class ObjectId
- java.lang.Object
-
- org.bson.types.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 0 1 2 3 4 5 6 7 8 9 10 11 time random value inc Instances of this class are immutable.
- See Also:
- Serialized Form
- MongoDB documentation
- ObjectId
-
-
Constructor Summary
Constructors Constructor Description ObjectId()
Create a new object id.ObjectId(byte[] bytes)
Constructs a new instance from the given byte arrayObjectId(int timestamp, int counter)
Creates an ObjectId using the given time, machine identifier, process identifier, and counter.ObjectId(String hexString)
Constructs a new instance from a 24-byte hexadecimal string representation.ObjectId(ByteBuffer buffer)
Constructs a new instance from the given ByteBufferObjectId(Date date)
Constructs a new instance using the given date.ObjectId(Date date, int counter)
Constructs a new instances using the given date and counter.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(ObjectId other)
boolean
equals(Object o)
static ObjectId
get()
Gets a new object id.Date
getDate()
Gets the timestamp as aDate
instance.static ObjectId
getSmallestWithDate(Date date)
Gets a new object id with the given date value and all other bits zeroed.int
getTimestamp()
Gets the timestamp (number of seconds since the Unix epoch).int
hashCode()
static boolean
isValid(String hexString)
Checks if a string could be anObjectId
.void
putToByteBuffer(ByteBuffer buffer)
Convert to bytes and put those bytes to the provided ByteBuffer.byte[]
toByteArray()
Convert to a byte array.String
toHexString()
Converts this instance into a 24-byte hexadecimal string representation.String
toString()
-
-
-
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 datecounter
- 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 secondscounter
- 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
-
getSmallestWithDate
public static ObjectId getSmallestWithDate(Date date)
Gets a new object id with the given date value and all other bits zeroed.The returned object id will compare as less than or equal to any other object id within the same second as the given date, and less than any later date.
- Parameters:
date
- the date- Returns:
- the ObjectId
- Since:
- 4.1
-
isValid
public static boolean isValid(String hexString)
Checks if a string could be anObjectId
.- 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 aDate
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
-
compareTo
public int compareTo(ObjectId other)
- Specified by:
compareTo
in interfaceComparable<ObjectId>
-
-