Class UUID

    • Constructor Detail

      • UUID

        public UUID()
        Generate a UUID.
      • UUID

        public UUID​(long lDatetime,
                    InetAddress addr,
                    int nPort,
                    int nCount)
        Build a UUID from its constituent members (advanced constructor).

        It is guaranteed that a generated UUID will never equal a built UUID.

        Parameters:
        lDatetime - the creation date/time millis portion of the UUID
        addr - the InetAddress portion of the UUID
        nPort - the port number portion of the UUID; a port number is 16 bits, but up to 28 bits of data from this value will be maintained by the UUID
        nCount - the counter portion of the UUID
      • UUID

        public UUID​(long lDatetime,
                    byte[] abIP,
                    int nPort,
                    int nCount)
        Build a UUID from its constituent members (advanced constructor).

        It is guaranteed that a generated UUID will never equal a built UUID.

        Parameters:
        lDatetime - the creation date/time millis portion of the UUID
        abIP - the InetAddress portion of the UUID
        nPort - the port number portion of the UUID; a port number is 16 bits, but up to 28 bits of data from this value will be maintained by the UUID
        nCount - the counter portion of the UUID
      • UUID

        public UUID​(String s)
        Construct a UUID from a String.
        Parameters:
        s - a String as would be returned from UUID.toString()
      • UUID

        public UUID​(byte[] ab)
        Construct a UUID from a byte array.
        Parameters:
        ab - a byte array as would be returned from UUID.toByteArray()
      • UUID

        public UUID​(DataInput stream)
             throws IOException
        Construct a UUID from a stream.

        This is a helper constructor that is just a shorthand for a sequence:

           UUID uid = new UUID();
           uid.readExternal(stream);
         
        Parameters:
        stream - an object implementing java.io.DataInput that contains the internal information that a previous UID wrote
        Throws:
        IOException - if an error occurs reading from the stream
    • Method Detail

      • main

        public static void main​(String[] asArgs)
        Allow UUID identifiers to be generated or parsed at the command line. For example, to generate 10 identifiers: java com.tangosol.util.UUID 10
      • isGenerated

        public boolean isGenerated()
        This is true if the UUID was generated, and false if it was built. A generated UUID is universally unique. Note that the port number is random if the UUID is generated.
        Returns:
        true if the UUID was generated
      • getTimestamp

        public long getTimestamp()
        Determine the date/time value that the UUID instance was generated.
        Returns:
        date/time value in millis that the UUID instance was generated
      • isAddressIncluded

        public boolean isAddressIncluded()
        This is true if the IP address is a real IP address. This is only false if two conditions are met: The UUID is generated, and it could not get an IP address (or one that is not a loopback/localhost address) from the VM.
        Returns:
        true if the UUID has IP address information
      • getAddress

        public byte[] getAddress()
        Determine the internet address of the host that generated the UUID instance.
        Returns:
        an array of bytes containing the IP address information; the array can be zero bytes (no address,) four bytes (IPv4) or 16 bytes (IPv6)
      • getPort

        public int getPort()
        Determine the port portion of the UUID. Note that the port is a 28-bit value; the first nibble is always 0x0.
        Returns:
        the port portion of the UID
      • getCount

        public int getCount()
        Determine the "counter" portion of the UUID that ensures that two UUIDs generated at the same exact time by the same process are unique.
        Returns:
        a number that helps to make the UUID unique
      • toByteArray

        public byte[] toByteArray()
        Convert the UUID to a byte array of 32 bytes.
        Returns:
        the UUID data as a byte array of 32 bytes
      • toString

        public String toString()
        Convert the UUID to a printable String.
        Overrides:
        toString in class Object
        Returns:
        the UUID data as a 0x-prefixed hex string.
      • equals

        public boolean equals​(Object o)
        Determine if two UUIDs are equal.
        Overrides:
        equals in class Object
        Parameters:
        o - the other UUID
        Returns:
        true if the passed object is equal to this
      • compareTo

        public int compareTo​(Object o)
        Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

        Specified by:
        compareTo in interface Comparable
        Parameters:
        o - the Object to be compared.
        Returns:
        a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object
        Throws:
        ClassCastException - if the specified object's type prevents it from being compared to this Object
      • hashCode

        public int hashCode()
        Determine a hash code for the UUID object.
        Overrides:
        hashCode in class Object
        Returns:
        a hash code reflecting the UUID's data
      • readExternal

        public void readExternal​(ObjectInput in)
                          throws IOException
        Read this object from an ObjectInputStream.
        Specified by:
        readExternal in interface Externalizable
        Parameters:
        in - the ObjectInputStream to read this object from
        Throws:
        IOException - if an exception occurs reading this object
      • writeExternal

        public void writeExternal​(ObjectOutput out)
                           throws IOException
        Write this object to an ObjectOutputStream.
        Specified by:
        writeExternal in interface Externalizable
        Parameters:
        out - the ObjectOutputStream to write this object to
        Throws:
        IOException - thrown if an exception occurs writing this object
      • readExternal

        public void readExternal​(DataInput in)
                          throws IOException
        Restore the contents of this object by loading the object's state from the passed DataInput object.
        Specified by:
        readExternal in interface ExternalizableLite
        Parameters:
        in - the DataInput stream to read data from in order to restore the state of this object
        Throws:
        IOException - if an I/O exception occurs
        NotActiveException - if the object is not in its initial state, and therefore cannot be deserialized into
      • writeExternal

        public void writeExternal​(DataOutput out)
                           throws IOException
        Save the contents of this object by storing the object's state into the passed DataOutput object.
        Specified by:
        writeExternal in interface ExternalizableLite
        Parameters:
        out - the DataOutput stream to write the state of this object to
        Throws:
        IOException - if an I/O exception occurs
      • readExternal

        public void readExternal​(PofReader in)
                          throws IOException
        Restore the contents of a user type instance by reading its state using the specified PofReader object.
        Specified by:
        readExternal in interface PortableObject
        Parameters:
        in - the PofReader from which to read the object's state
        Throws:
        IOException - if an I/O error occurs
      • writeExternal

        public void writeExternal​(PofWriter out)
                           throws IOException
        Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
        Specified by:
        writeExternal in interface PortableObject
        Parameters:
        out - the PofWriter to which to write the object's state
        Throws:
        IOException - if an I/O error occurs