public class UUID extends java.lang.Object implements Address
Modifier and Type | Field and Description |
---|---|
protected static LazyRemovalCache<Address,java.lang.String> |
cache
Keeps track of associations between logical addresses (UUIDs) and logical names
|
protected long |
leastSigBits |
protected long |
mostSigBits |
protected static java.security.SecureRandom |
numberGenerator
The random number generator used by this class to create random based UUIDs
|
protected static LazyRemovalCache.Printable<Address,LazyRemovalCache.Entry<java.lang.String>> |
print_function |
protected static boolean |
print_uuids |
protected static int |
SIZE |
Modifier | Constructor and Description |
---|---|
|
UUID() |
protected |
UUID(byte[] data)
Private constructor which uses a byte array to construct the new UUID
|
|
UUID(long mostSigBits,
long leastSigBits) |
Modifier and Type | Method and Description |
---|---|
static void |
add(Address uuid,
java.lang.String logical_name) |
static void |
add(java.util.Map<Address,java.lang.String> map) |
int |
compareTo(Address other)
Compares this UUID with the specified UUID.
|
UUID |
copy() |
protected static java.lang.String |
digits(long val,
int digits)
Returns val represented by the specified number of hex digits.
|
boolean |
equals(java.lang.Object obj)
Compares this object to the specified object.
|
static UUID |
fromString(java.lang.String name)
Creates a
UUID from the string standard representation as
described in the toString() method. |
protected static byte[] |
generateRandomBytes() |
static java.lang.String |
get(Address logical_addr) |
static Address |
getByName(java.lang.String logical_name) |
static java.util.Map<Address,java.lang.String> |
getContents()
Returns a copy of the cache's contents
|
long |
getLeastSignificantBits() |
long |
getMostSignificantBits()
Returns the most significant 64 bits of this UUID's 128 bit value.
|
int |
hashCode()
Returns a hash code for this
UUID . |
static java.lang.String |
printCache() |
static UUID |
randomUUID()
Static factory to retrieve a type 4 (pseudo randomly generated) UUID.
|
void |
readExternal(java.io.ObjectInput in) |
void |
readFrom(java.io.DataInput in)
Read the state of the current object (including superclasses) from instream
Note that the input stream must not be closed
|
static void |
remove(Address addr) |
static void |
removeAll(java.util.Collection<Address> mbrs) |
static void |
retainAll(java.util.Collection<Address> logical_addrs) |
int |
size()
Returns serialized size of this address
|
java.lang.String |
toString() |
java.lang.String |
toStringLong()
Returns a
String object representing this UUID . |
void |
writeExternal(java.io.ObjectOutput out) |
void |
writeTo(java.io.DataOutput out)
Write the entire state of the current object (including superclasses) to outstream.
|
protected long mostSigBits
protected long leastSigBits
protected static volatile java.security.SecureRandom numberGenerator
protected static final LazyRemovalCache<Address,java.lang.String> cache
protected static boolean print_uuids
protected static final int SIZE
protected static final LazyRemovalCache.Printable<Address,LazyRemovalCache.Entry<java.lang.String>> print_function
public UUID()
public UUID(long mostSigBits, long leastSigBits)
protected UUID(byte[] data)
public static void add(Address uuid, java.lang.String logical_name)
public static void add(java.util.Map<Address,java.lang.String> map)
public static java.lang.String get(Address logical_addr)
public static Address getByName(java.lang.String logical_name)
public static java.util.Map<Address,java.lang.String> getContents()
public static void remove(Address addr)
public static void removeAll(java.util.Collection<Address> mbrs)
public static void retainAll(java.util.Collection<Address> logical_addrs)
public static java.lang.String printCache()
public static UUID randomUUID()
UUID
is generated using a cryptographically strong pseudo random number generator.UUID
public long getLeastSignificantBits()
public long getMostSignificantBits()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toStringLong()
String
object representing this UUID
.
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"
UUID
public static UUID fromString(java.lang.String name)
UUID
from the string standard representation as
described in the toString()
method.name
- A string that specifies a UUID
UUID
with the specified valuejava.lang.IllegalArgumentException
- If name does not conform to the string representation as
described in toString()
protected static java.lang.String digits(long val, int digits)
public int hashCode()
UUID
.hashCode
in class java.lang.Object
UUID
public boolean equals(java.lang.Object obj)
true
if and only if the argument is not null
, is a UUID
object, has the same variant, and contains the same value, bit for bit,
as this UUID
.equals
in class java.lang.Object
obj
- The object to be comparedtrue
if the objects are the same; false
otherwisepublic int compareTo(Address other)
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.
compareTo
in interface java.lang.Comparable<Address>
other
- UUID
to which this UUID
is to be comparedUUID
is less than, equal to, or greater than val
public void writeTo(java.io.DataOutput out) throws java.lang.Exception
Streamable
writeTo
in interface Streamable
java.lang.Exception
public void readFrom(java.io.DataInput in) throws java.lang.Exception
Streamable
readFrom
in interface Streamable
java.lang.Exception
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public int size()
Address
public UUID copy()
protected static byte[] generateRandomBytes()
Copyright © 1998-2020 Red Hat. All Rights Reserved.