Class 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:
-
Constructor Summary
ConstructorsConstructorDescriptionObjectId()Deprecated.Create a new object id.ObjectId(byte[] bytes) Deprecated.Constructs a new instance from the given byte arrayObjectId(int timestamp, int counter) Deprecated.Creates an ObjectId using the given time, machine identifier, process identifier, and counter.ObjectId(int timestamp, int machineIdentifier, short processIdentifier, int counter) Deprecated.UseObjectId(int, int)insteadDeprecated.Constructs a new instance from a 24-byte hexadecimal string representation.ObjectId(ByteBuffer buffer) Deprecated.Constructs a new instance from the given ByteBufferDeprecated.Constructs a new instance using the given date.Deprecated.Constructs a new instances using the given date and counter.Deprecated.UseObjectId(Date, int)instead -
Method Summary
Modifier and TypeMethodDescriptionintDeprecated.static ObjectIdcreateFromLegacyFormat(int time, int machine, int inc) Deprecated.UseObjectId(int, int)insteadbooleanDeprecated.static ObjectIdget()Deprecated.Gets a new object id.intDeprecated.static intDeprecated.getDate()Deprecated.Gets the timestamp as aDateinstance.static intDeprecated.static intDeprecated.intDeprecated.shortDeprecated.longgetTime()Deprecated.Use #getDate insteadintDeprecated.Use #getTimestamp insteadintDeprecated.Gets the timestamp (number of seconds since the Unix epoch).inthashCode()Deprecated.static booleanDeprecated.Checks if a string could be anObjectId.voidputToByteBuffer(ByteBuffer buffer) Deprecated.Convert to bytes and put those bytes to the provided ByteBuffer.byte[]Deprecated.Convert to a byte array.Deprecated.Converts this instance into a 24-byte hexadecimal string representation.toString()Deprecated.Deprecated.usetoHexString()
-
Constructor Details
-
ObjectId
public ObjectId()Deprecated.Create a new object id. -
ObjectId
Deprecated.Constructs a new instance using the given date.- Parameters:
date- the date
-
ObjectId
Deprecated.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
Deprecated.UseObjectId(Date, int)insteadConstructs a new instances using the given date, machine identifier, process identifier, and counter.- Parameters:
date- the datemachineIdentifier- the machine identifierprocessIdentifier- the process identifiercounter- the counter- Throws:
IllegalArgumentException- if the high order byte of machineIdentifier or counter is not zero
-
ObjectId
@Deprecated public ObjectId(int timestamp, int machineIdentifier, short processIdentifier, int counter) Deprecated.UseObjectId(int, int)insteadCreates an ObjectId using the given time, machine identifier, process identifier, and counter.- Parameters:
timestamp- the time in secondsmachineIdentifier- the machine identifierprocessIdentifier- the process identifiercounter- the counter- Throws:
IllegalArgumentException- if the high order byte of machineIdentifier or counter is not zero
-
ObjectId
public ObjectId(int timestamp, int counter) Deprecated.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
Deprecated.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) Deprecated.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
Deprecated.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
Deprecated.Gets a new object id.- Returns:
- the new id
-
isValid
Deprecated.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()Deprecated.Convert to a byte array. Note that the numbers are stored in big-endian order.- Returns:
- the byte array
-
putToByteBuffer
Deprecated.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()Deprecated.Gets the timestamp (number of seconds since the Unix epoch).- Returns:
- the timestamp
-
getDate
Deprecated.Gets the timestamp as aDateinstance.- Returns:
- the Date
-
toHexString
Deprecated.Converts this instance into a 24-byte hexadecimal string representation.- Returns:
- a string representation of the ObjectId in hexadecimal format
-
equals
Deprecated. -
hashCode
public int hashCode()Deprecated. -
compareTo
Deprecated.- Specified by:
compareToin interfaceComparable<ObjectId>
-
toString
Deprecated. -
createFromLegacyFormat
Deprecated.UseObjectId(int, int)insteadCreates an ObjectId using time, machine and inc values. The Java driver used to create all ObjectIds this way, but it does not match the ObjectId specification, which requires four values, not three. This major release of the Java driver conforms to the specification, but still supports clients that are relying on the behavior of the previous major release by providing this explicit factory method that takes three parameters instead of four.
Ordinary users of the driver will not need this method. It's only for those that have written there own BSON decoders.
NOTE: This will not break any application that use ObjectIds. The 12-byte representation will be round-trippable from old to new driver releases.
- Parameters:
time- time in secondsmachine- machine IDinc- incremental value- Returns:
- a new
ObjectIdcreated from the given values - Since:
- 2.12.0
-
getCurrentCounter
Deprecated.Gets the current value of the auto-incrementing counter.- Returns:
- the current counter value.
-
getGeneratedMachineIdentifier
Deprecated.Gets the generated machine identifier.- Returns:
- an int representing the machine identifier
-
getGeneratedProcessIdentifier
Deprecated.Gets the generated process identifier.- Returns:
- the process id
-
getMachineIdentifier
Deprecated.Gets the machine identifier.- Returns:
- the machine identifier
-
getProcessIdentifier
Deprecated.Gets the process identifier.- Returns:
- the process identifier
-
getCounter
Deprecated.Gets the counter.- Returns:
- the counter
-
getTimeSecond
Deprecated.Use #getTimestamp insteadGets the time of this ID, in seconds.- Returns:
- the time component of this ID in seconds
-
getTime
Deprecated.Use #getDate insteadGets the time of this instance, in milliseconds.- Returns:
- the time component of this ID in milliseconds
-
toStringMongod
Deprecated.usetoHexString()- Returns:
- a string representation of the ObjectId in hexadecimal format
- See Also:
-