Package com.walkfares.odsl.util
Class ObjectId
java.lang.Object
com.walkfares.odsl.util.ObjectId
public class ObjectId extends Object
-
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
Modifier and Type Method Description booleanequals(Object o)static ObjectIdget()Gets a new object id.DategetDate()Gets the timestamp as aDateinstance.static ObjectIdgetSmallestWithDate(Date date)Gets a new object id with the given date value and all other bits zeroed.intgetTimestamp()Gets the timestamp (number of seconds since the Unix epoch).inthashCode()static voidisTrue(String name, boolean condition)Throw IllegalStateException if the condition if false.static voidisTrueArgument(String name, boolean condition)static <T> TisTrueArgument(String name, T value, boolean condition)static booleanisValid(String hexString)Checks if a string could be anObjectId.static <T> TnotNull(String name, T value)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 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, 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
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
-
notNull
-
isTrue
Throw IllegalStateException if the condition if false.- Parameters:
name- the name of the state that is being checkedcondition- the condition about the parameter to check- Throws:
IllegalStateException- if the condition is false
-
isTrueArgument
-
isTrueArgument
-
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 aDateinstance.- 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() -
toString
-