Package org.apache.cassandra.utils
Class TimeUUID
- java.lang.Object
-
- org.apache.cassandra.utils.TimeUUID
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<TimeUUID>
- Direct Known Subclasses:
Ballot
public class TimeUUID extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<TimeUUID>
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
TimeUUID.AbstractSerializer<T extends TimeUUID>
static class
TimeUUID.Generator
static class
TimeUUID.Serializer
-
Field Summary
Fields Modifier and Type Field Description static long
serialVersionUID
protected static long
TIMESTAMP_UUID_VERSION_IN_MSB
static long
TIMEUUID_SIZE
static long
UUID_EPOCH_UNIX_MILLIS
protected static long
UUID_VERSION_BITS_IN_MSB
-
Constructor Summary
Constructors Constructor Description TimeUUID(long uuidTimestamp, long lsb)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.UUID
asUUID()
static TimeUUID
atUnixMicrosWithLsb(long unixMicros, long uniqueLsb)
static java.util.UUID
atUnixMicrosWithLsbAsUUID(long unixMicros, long uniqueLsb)
int
compareTo(TimeUUID that)
static TimeUUID
deserialize(java.io.DataInput in)
static TimeUUID
deserialize(java.nio.ByteBuffer buffer)
boolean
equals(java.lang.Object that)
boolean
equals(java.util.UUID that)
boolean
equals(TimeUUID that)
static TimeUUID
fromBytes(long msb, long lsb)
static TimeUUID
fromString(java.lang.String uuidString)
static TimeUUID
fromUuid(java.util.UUID uuid)
int
hashCode()
long
lsb()
static TimeUUID
maxAtUnixMillis(long unixMillis)
Returns the biggest possible type 1 UUID having the provided timestamp.static TimeUUID
minAtUnixMillis(long unixMillis)
Returns the smaller possible type 1 UUID having the provided timestamp.long
msb()
static long
msbToRawTimestamp(long msb)
static long
rawTimestampToMsb(long rawTimestamp)
static long
rawTimestampToUnixMicros(long rawTimestamp)
void
serialize(java.io.DataOutput out)
static long
sizeInBytes()
java.nio.ByteBuffer
toBytes()
static byte[]
toBytes(long msb, long lsb)
java.lang.String
toString()
static java.lang.String
toString(TimeUUID ballot)
static java.lang.String
toString(TimeUUID ballot, java.lang.String kind)
long
unix(java.util.concurrent.TimeUnit units)
The Cassandra internal micros-resolution timestamp of the TimeUUID, as of unix epochlong
unixMicros()
The Cassandra internal micros-resolution timestamp of the TimeUUID, as of unix epochstatic long
unixMicrosToRawTimestamp(long unixMicros)
static long
unixMillisToRawTimestamp(long unixMillis, long tenthsOfAMicro)
long
uuidTimestamp()
The UUID-format timestamp, i.e.
-
-
-
Field Detail
-
serialVersionUID
public static final long serialVersionUID
- See Also:
- Constant Field Values
-
UUID_EPOCH_UNIX_MILLIS
public static final long UUID_EPOCH_UNIX_MILLIS
- See Also:
- Constant Field Values
-
TIMESTAMP_UUID_VERSION_IN_MSB
protected static final long TIMESTAMP_UUID_VERSION_IN_MSB
- See Also:
- Constant Field Values
-
UUID_VERSION_BITS_IN_MSB
protected static final long UUID_VERSION_BITS_IN_MSB
- See Also:
- Constant Field Values
-
TIMEUUID_SIZE
public static final long TIMEUUID_SIZE
-
-
Method Detail
-
atUnixMicrosWithLsb
public static TimeUUID atUnixMicrosWithLsb(long unixMicros, long uniqueLsb)
-
atUnixMicrosWithLsbAsUUID
public static java.util.UUID atUnixMicrosWithLsbAsUUID(long unixMicros, long uniqueLsb)
-
minAtUnixMillis
public static TimeUUID minAtUnixMillis(long unixMillis)
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.
-
maxAtUnixMillis
public static TimeUUID maxAtUnixMillis(long unixMillis)
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.
-
fromString
public static TimeUUID fromString(java.lang.String uuidString)
-
fromUuid
public static TimeUUID fromUuid(java.util.UUID uuid)
-
fromBytes
public static TimeUUID fromBytes(long msb, long lsb)
-
deserialize
public static TimeUUID deserialize(java.nio.ByteBuffer buffer)
-
deserialize
public static TimeUUID deserialize(java.io.DataInput in) throws java.io.IOException
- Throws:
java.io.IOException
-
serialize
public void serialize(java.io.DataOutput out) throws java.io.IOException
- Throws:
java.io.IOException
-
toBytes
public java.nio.ByteBuffer toBytes()
-
toBytes
public static byte[] toBytes(long msb, long lsb)
-
sizeInBytes
public static long sizeInBytes()
-
asUUID
public java.util.UUID asUUID()
-
unix
public long unix(java.util.concurrent.TimeUnit units)
The Cassandra internal micros-resolution timestamp of the TimeUUID, as of unix epoch
-
unixMicros
public long unixMicros()
The Cassandra internal micros-resolution timestamp of the TimeUUID, as of unix epoch
-
uuidTimestamp
public long uuidTimestamp()
The UUID-format timestamp, i.e. 10x micros-resolution, as of UUIDGen.UUID_EPOCH_UNIX_MILLIS The tenths of a microsecond are used to store a flag value.
-
msb
public long msb()
-
lsb
public long lsb()
-
rawTimestampToUnixMicros
public static long rawTimestampToUnixMicros(long rawTimestamp)
-
unixMillisToRawTimestamp
public static long unixMillisToRawTimestamp(long unixMillis, long tenthsOfAMicro)
-
unixMicrosToRawTimestamp
public static long unixMicrosToRawTimestamp(long unixMicros)
-
msbToRawTimestamp
public static long msbToRawTimestamp(long msb)
-
rawTimestampToMsb
public static long rawTimestampToMsb(long rawTimestamp)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object that)
- Overrides:
equals
in classjava.lang.Object
-
equals
public boolean equals(TimeUUID that)
-
equals
public boolean equals(java.util.UUID that)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toString
public static java.lang.String toString(TimeUUID ballot)
-
toString
public static java.lang.String toString(TimeUUID ballot, java.lang.String kind)
-
-