UUIDGen

izumi.fundamentals.platform.uuid.UUIDGen$
See theUUIDGen companion class
object UUIDGen

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
UUIDGen.type

Members list

Concise view

Value members

Concrete methods

def decompose(uuid: UUID): Array[Byte]

decomposes a uuid into raw bytes.

decomposes a uuid into raw bytes.

Attributes

def getAdjustedTimestamp(uuid: UUID): Long

Returns a milliseconds-since-epoch value for a type-1 UUID.

Returns a milliseconds-since-epoch value for a type-1 UUID.

Attributes

uuid

a type-1 (time-based) UUID

Returns:

the number of milliseconds since the unix epoch

Throws:
IllegalArgumentException

if the UUID is not version 1

def getAllLocalAddresses(): Collection[InetAddress]
def getRandomTimeUUIDFromMicros(whenInMicros: Long): UUID

Similar to [[getTimeUUIDFromMicros]], but randomize (using SecureRandom) the clock and sequence.

Similar to [[getTimeUUIDFromMicros]], but randomize (using SecureRandom) the clock and sequence.

If you can guarantee that the whenInMicros argument is unique (for this JVM instance) for every call, then you should prefer [[getTimeUUIDFromMicros]] which is faster. If you can't guarantee this however, this method will ensure the returned UUID are still unique (accross calls) through randomization.

Attributes

whenInMicros

a unix time in microseconds.

Returns:

a new UUID { @code id} such that { @code microsTimestamp(id) == whenInMicros}. The UUID returned by different calls will be unique even if { @code whenInMicros} is not.

def getTimeUUID(): UUID

Creates a type 1 UUID (time-based UUID).

Creates a type 1 UUID (time-based UUID).

Attributes

Returns:

a UUID instance

def getTimeUUID(when: Long): UUID

Creates a type 1 UUID (time-based UUID) with the timestamp of @param when, in milliseconds.

Creates a type 1 UUID (time-based UUID) with the timestamp of @param when, in milliseconds.

Attributes

Returns:

a UUID instance

def getTimeUUID(when: Long, nanos: Long): UUID
def getTimeUUID(when: Long, nanos: Long, clockSeqAndNode: Long): UUID
def getTimeUUIDBytes(): Array[Byte]

Returns a 16 byte representation of a type 1 UUID (a time-based UUID), based on the current system time.

Returns a 16 byte representation of a type 1 UUID (a time-based UUID), based on the current system time.

Attributes

Returns:

a type 1 UUID represented as a byte[]

def getTimeUUIDBytes(timeMillis: Long): Array[Byte]

Converts a milliseconds-since-epoch timestamp into the 16 byte representation of a type 1 UUID (a time-based UUID).

Converts a milliseconds-since-epoch timestamp into the 16 byte representation of a type 1 UUID (a time-based UUID).

Deprecated: This method goes again the principle of a time UUID and should not be used. For queries based on timestamp, minTimeUUID() and maxTimeUUID() can be used but this method has questionable usefulness. This is only kept because CQL2 uses it (see TimeUUID.fromStringCQL2) and we don't want to break compatibility.

Warning: This method is not guaranteed to return unique UUIDs; Multiple invocations using identical timestamps will result in identical UUIDs.

Attributes

Returns:

a type 1 UUID represented as a byte[]

def getTimeUUIDBytes(timeMillis: Long, nanos: Int): Array[Byte]

Converts a 100-nanoseconds precision timestamp into the 16 byte representation of a type 1 UUID (a time-based UUID).

Converts a 100-nanoseconds precision timestamp into the 16 byte representation of a type 1 UUID (a time-based UUID).

To specify a 100-nanoseconds precision timestamp, one should provide a milliseconds timestamp and a number 0 <= n < 10000 such that n*100 is the number of nanoseconds within that millisecond.

Warning: This method is not guaranteed to return unique UUIDs; Multiple invocations using identical timestamps will result in identical UUIDs.

Attributes

Returns:

a type 1 UUID represented as a byte[]

def getTimeUUIDFromMicros(whenInMicros: Long): UUID

Returns a version 1 UUID using the provided timestamp and the local clock and sequence.

Returns a version 1 UUID using the provided timestamp and the local clock and sequence.

Note that this method is generally only safe to use if you can guarantee that the provided parameter is unique across calls (otherwise the returned UUID won't be unique accross calls).

Attributes

whenInMicros

a unix time in microseconds.

Returns:

a new UUID { @code id} such that { @code microsTimestamp(id) == whenInMicros}. Please not that multiple calls to this method with the same value of { @code whenInMicros} will return the same UUID.

def getUUID(raw: ByteBuffer): UUID

creates a type 1 uuid from raw bytes.

creates a type 1 uuid from raw bytes.

Attributes

def maxTimeUUID(timestamp: Long): UUID

Returns the biggest possible type 1 UUID having the provided timestamp.

Returns the biggest possible type 1 UUID having the provided timestamp.

Warning: this method should only be used for querying as this doesn't at all guarantee the uniqueness of the resulting UUID.

Attributes

def microsTimestamp(uuid: UUID): Long

Attributes

Returns:

microseconds since Unix epoch

def minTimeUUID(timestamp: Long): UUID

Returns the smaller possible type 1 UUID having the provided timestamp.

Returns the smaller possible type 1 UUID having the provided timestamp.

Warning: this method should only be used for querying as this doesn't at all guarantee the uniqueness of the resulting UUID.

Attributes

def unixTimestamp(uuid: UUID): Long

Attributes

Returns:

milliseconds since Unix epoch