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 intcompareTo(ObjectId other)booleanequals(Object o)static ObjectIdget()Gets a new object id.DategetDate()Gets the timestamp as aDateinstance.intgetTimestamp()Gets the timestamp (number of seconds since the Unix epoch).inthashCode()static booleanisValid(String hexString)Checks if a string could be anObjectId.voidputToByteBuffer(ByteBuffer buffer)Convert to bytes and put those bytes to the provided ByteBuffer.byte[]toByteArray()Convert to a byte array.StringtoHexString()Converts this instance into a 24-byte hexadecimal string representation.StringtoString()
-
-
-
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
-
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 aDateinstance.- 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:
compareToin interfaceComparable<ObjectId>
-
-