Package org.jgroups.util
Class UUID
java.lang.Object
org.jgroups.util.UUID
- All Implemented Interfaces:
Comparable<Address>,Address,Constructable<UUID>,SizeStreamable,Streamable
- Direct Known Subclasses:
FlagsUUID
Logical address which is unique over space and time.
Copied from java.util.UUID, but unneeded fields from the latter have been removed. UUIDs needs to have a small memory footprint.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected longprotected longprotected static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintCompares this UUID with the specified UUID.intcopy()create()Creates an instance of the class implementing this interfaceprotected static Stringdigits(long val, int digits) Returns val represented by the specified number of hex digits.booleanCompares this object to the specified object.static UUIDfromString(String name) Creates aUUIDfrom the string standard representation as described in thetoString()method.static byte[]Generate random bytes and adjusts them for a type-4 UUIDlonglongReturns the most significant 64 bits of this UUID's 128 bit value.inthashCode()Returns a hash code for thisUUID.static Stringstatic UUIDStatic factory to retrieve a type 4 (pseudo randomly generated) UUID.voidRead the state of the current object (including superclasses) from instream Note that the input stream must not be closedintReturns the size (in bytes) of the marshalled objecttoString()Returns aStringobject representing thisUUID.voidwriteTo(DataOutput out) Write the entire state of the current object (including superclasses) to outstream.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jgroups.Address
isMulticast, isSiteAddress, isSiteMaster
-
Field Details
-
mostSigBits
protected long mostSigBits -
leastSigBits
protected long leastSigBits -
SIZE
protected static final int SIZE- See Also:
-
-
Constructor Details
-
UUID
public UUID() -
UUID
public UUID(long mostSigBits, long leastSigBits) -
UUID
-
UUID
protected UUID(byte[] data) Private constructor which uses a byte array to construct the new UUID
-
-
Method Details
-
create
Description copied from interface:ConstructableCreates an instance of the class implementing this interface- Specified by:
createin interfaceConstructable<UUID>
-
randomUUID
Static factory to retrieve a type 4 (pseudo randomly generated) UUID. TheUUIDis generated using aThreadLocalRandom.- Returns:
- A randomly generated
UUID
-
getLeastSignificantBits
public long getLeastSignificantBits() -
getMostSignificantBits
public long getMostSignificantBits()Returns the most significant 64 bits of this UUID's 128 bit value.- Returns:
- The most significant 64 bits of this UUID's 128 bit value
-
printName
-
toString
-
toStringLong
Returns aStringobject representing thisUUID.The UUID string representation is as described by this BNF:
UUID = <time_low> "-" <time_mid> "-" <time_high_and_version> "-" <variant_and_sequence> "-" <node> time_low = 4*<hexOctet> time_mid = 2*<hexOctet> time_high_and_version = 2*<hexOctet> variant_and_sequence = 2*<hexOctet> node = 6*<hexOctet> hexOctet = <hexDigit><hexDigit> hexDigit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "b" | "c" | "d" | "e" | "f" | "A" | "B" | "C" | "D" | "E" | "F"- Returns:
- A string representation of this
UUID
-
fromString
Creates aUUIDfrom the string standard representation as described in thetoString()method.- Parameters:
name- A string that specifies aUUID- Returns:
- A
UUIDwith the specified value - Throws:
IllegalArgumentException- If name does not conform to the string representation as described intoString()
-
digits
Returns val represented by the specified number of hex digits. -
hashCode
public int hashCode()Returns a hash code for thisUUID. -
equals
Compares this object to the specified object. The result istrueif and only if the argument is notnull, is aUUIDobject, and contains the same most- and least significant bits. -
compareTo
Compares this UUID with the specified UUID.The first of two UUIDs is greater than the second if the most significant field in which the UUIDs differ is greater for the first UUID.
- Specified by:
compareToin interfaceComparable<Address>- Parameters:
other-UUIDto which thisUUIDis to be compared- Returns:
- -1, 0 or 1 as this
UUIDis less than, equal to, or greater thanval
-
compareTo
-
writeTo
Description copied from interface:StreamableWrite the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed- Specified by:
writeToin interfaceStreamable- Throws:
IOException
-
readFrom
Description copied from interface:StreamableRead the state of the current object (including superclasses) from instream Note that the input stream must not be closed- Specified by:
readFromin interfaceStreamable- Throws:
IOException
-
serializedSize
public int serializedSize()Description copied from interface:SizeStreamableReturns the size (in bytes) of the marshalled object- Specified by:
serializedSizein interfaceSizeStreamable
-
copy
-
generateRandomBytes
public static byte[] generateRandomBytes()Generate random bytes and adjusts them for a type-4 UUID
-