Package org.bson.types
Class ObjectId
java.lang.Object
org.bson.types.ObjectId
- All Implemented Interfaces:
Serializable
,Comparable<ObjectId>
A globally unique identifier for objects.
Consists of 12 bytes, divided as follows:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
time | random value | inc |
Instances of this class are immutable.
- See Also:
- MongoDB documentation
- ObjectId
-
Constructor Summary
ConstructorDescriptionObjectId()
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 and counter.Constructs a new instance from a 24-byte hexadecimal string representation.ObjectId
(ByteBuffer buffer) Constructs a new instance from the given ByteBufferConstructs a new instance using the given date.Constructs a new instances using the given date and counter. -
Method Summary
Modifier and TypeMethodDescriptionint
boolean
static ObjectId
get()
Gets a new object id.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
Gets the timestamp (number of seconds since the Unix epoch).int
hashCode()
static boolean
Checks if a string could be anObjectId
.void
putToByteBuffer
(ByteBuffer buffer) Convert to bytes and put those bytes to the provided ByteBuffer.byte[]
Convert to a byte array.Converts this instance into a 24-byte hexadecimal string representation.toString()
-
Constructor Details
-
ObjectId
public ObjectId()Create a new object id. -
ObjectId
Constructs a new instance using the given date.- Parameters:
date
- the date
-
ObjectId
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 and counter.- Parameters:
timestamp
- the time in secondscounter
- the counter- Throws:
IllegalArgumentException
- if the high order byte of counter is not zero
-
ObjectId
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
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
-
get
Gets a new object id.- Returns:
- the new id
-
getSmallestWithDate
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
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
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
Gets the timestamp as aDate
instance.- Returns:
- the Date
-
toHexString
Converts this instance into a 24-byte hexadecimal string representation.- Returns:
- a string representation of the ObjectId in hexadecimal format
-
equals
-
hashCode
public int hashCode() -
compareTo
- Specified by:
compareTo
in interfaceComparable<ObjectId>
-
toString
-