Class UUID

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        UUID()  
      protected UUID​(byte[] data)
      Private constructor which uses a byte array to construct the new UUID
        UUID​(long mostSigBits, long leastSigBits)  
        UUID​(java.util.UUID uuid)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(Address other)
      Compares this UUID with the specified UUID.
      UUID copy()  
      java.util.function.Supplier<? extends UUID> create()
      Creates an instance of the class implementing this interface
      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.
      static byte[] generateRandomBytes()
      Generate random bytes and adjusts them for a type-4 UUID
      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 UUID randomUUID()
      Static factory to retrieve a type 4 (pseudo randomly generated) UUID.
      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
      int serializedSize()
      Returns the size (in bytes) of the marshalled object
      java.lang.String toString()  
      java.lang.String toStringLong()
      Returns a String object representing this UUID.
      void writeTo​(java.io.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, wait
    • Field Detail

      • mostSigBits

        protected long mostSigBits
      • leastSigBits

        protected long leastSigBits
    • Constructor Detail

      • UUID

        public UUID()
      • UUID

        public UUID​(long mostSigBits,
                    long leastSigBits)
      • UUID

        public UUID​(java.util.UUID uuid)
      • UUID

        protected UUID​(byte[] data)
        Private constructor which uses a byte array to construct the new UUID
    • Method Detail

      • create

        public java.util.function.Supplier<? extends UUID> create()
        Description copied from interface: Constructable
        Creates an instance of the class implementing this interface
        Specified by:
        create in interface Constructable<UUID>
      • randomUUID

        public static UUID randomUUID()
        Static factory to retrieve a type 4 (pseudo randomly generated) UUID. The UUID is generated using a ThreadLocalRandom.
        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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toStringLong

        public java.lang.String toStringLong()
        Returns a 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"
         
        Returns:
        A string representation of this UUID
      • fromString

        public static UUID fromString​(java.lang.String name)
        Creates a UUID from the string standard representation as described in the toString() method.
        Parameters:
        name - A string that specifies a UUID
        Returns:
        A UUID with the specified value
        Throws:
        java.lang.IllegalArgumentException - If name does not conform to the string representation as described in toString()
      • digits

        protected static java.lang.String digits​(long val,
                                                 int digits)
        Returns val represented by the specified number of hex digits.
      • hashCode

        public int hashCode()
        Returns a hash code for this UUID.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        A hash code value for this UUID
      • equals

        public boolean equals​(java.lang.Object obj)
        Compares this object to the specified object. The result is 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.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - The object to be compared
        Returns:
        true if the objects are the same; false otherwise
      • compareTo

        public int compareTo​(Address other)
        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:
        compareTo in interface java.lang.Comparable<Address>
        Parameters:
        other - UUID to which this UUID is to be compared
        Returns:
        -1, 0 or 1 as this UUID is less than, equal to, or greater than val
      • writeTo

        public void writeTo​(java.io.DataOutput out)
                     throws java.io.IOException
        Description copied from interface: Streamable
        Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed
        Specified by:
        writeTo in interface Streamable
        Throws:
        java.io.IOException
      • readFrom

        public void readFrom​(java.io.DataInput in)
                      throws java.io.IOException
        Description copied from interface: Streamable
        Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
        Specified by:
        readFrom in interface Streamable
        Throws:
        java.io.IOException
      • copy

        public UUID copy()
      • generateRandomBytes

        public static byte[] generateRandomBytes()
        Generate random bytes and adjusts them for a type-4 UUID