org.apache.cassandra.utils
Class UUIDGen

java.lang.Object
  extended by org.apache.cassandra.utils.UUIDGen

public class UUIDGen
extends java.lang.Object

The goods are here: www.ietf.org/rfc/rfc4122.txt.


Method Summary
static byte[] decompose(java.util.UUID uuid)
          decomposes a uuid into raw bytes.
static long getAdjustedTimestamp(java.util.UUID uuid)
          Returns a milliseconds-since-epoch value for a type-1 UUID.
static java.util.UUID getTimeUUID()
          Creates a type 1 UUID (time-based UUID).
static byte[] getTimeUUIDBytes()
          Returns a 16 byte representation of a type 1 UUID (a time-based UUID), based on the current system time.
static byte[] getTimeUUIDBytes(long timeMillis)
          Converts a milliseconds-since-epoch timestamp into the 16 byte representation of a type 1 UUID (a time-based UUID).
static byte[] getTimeUUIDBytes(long timeMillis, int nanos)
          Converts a 100-nanoseconds precision timestamp into the 16 byte representation of a type 1 UUID (a time-based UUID).
static java.util.UUID getUUID(java.nio.ByteBuffer raw)
          creates a type 1 uuid from raw bytes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getTimeUUID

public static java.util.UUID getTimeUUID()
Creates a type 1 UUID (time-based UUID).

Returns:
a UUID instance

getUUID

public static java.util.UUID getUUID(java.nio.ByteBuffer raw)
creates a type 1 uuid from raw bytes.


decompose

public static byte[] decompose(java.util.UUID uuid)
decomposes a uuid into raw bytes.


getTimeUUIDBytes

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

Returns:
a type 1 UUID represented as a byte[]

getTimeUUIDBytes

public static byte[] getTimeUUIDBytes(long timeMillis)
Converts a milliseconds-since-epoch timestamp into the 16 byte representation of a type 1 UUID (a time-based UUID).

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

Parameters:
timeMillis -
Returns:
a type 1 UUID represented as a byte[]

getTimeUUIDBytes

public static byte[] getTimeUUIDBytes(long timeMillis,
                                      int nanos)
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.

Returns:
a type 1 UUID represented as a byte[]

getAdjustedTimestamp

public static long getAdjustedTimestamp(java.util.UUID uuid)
Returns a milliseconds-since-epoch value for a type-1 UUID.

Parameters:
uuid - a type-1 (time-based) UUID
Returns:
the number of milliseconds since the unix epoch
Throws:
java.lang.IllegalArgumentException - if the UUID is not version 1


Copyright © 2012 The Apache Software Foundation