Class UID

    • Constructor Detail

      • UID

        public UID()
        Construct a UID (default constructor).
      • UID

        public UID​(int nAddr,
                   long lDatetime,
                   int nCount)
        Construct a UID from its constituent members (advanced constructor).
        Parameters:
        nAddr - the InetAddress-related portion of the UID
        lDatetime - the creation date/time millis portion of the UID
        nCount - the counter portion of the UID
      • UID

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

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

        public UID​(DataInput stream)
            throws IOException
        Construct a UID from a stream. This is a custom serialization implementation that is unrelated to the Serializable interface and the Java implementation of persistence.
        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 UID identifiers to be generated or parsed at the command line. For example, to generate 10 identifiers: java com.tangosol.util.UID 10
      • getAddress

        public int getAddress()
        Determine the internet address of the host that generated the UID instance (or a random number if no internet address was available)
        Returns:
        a 4-byte integer value holding an internet address in the byte order that is used by InetAddress and LicensedObject
      • getTimestamp

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

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

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

        public byte[] toByteArray()
        Convert the UID to a byte array of 16 bytes.
        Returns:
        the UID data as a byte array of 16 bytes
      • toCharArray

        public char[] toCharArray()
        Convert the UID to a character array of 32 hex digits.
        Returns:
        the UID data as a character array of 32 hex digits
      • equals

        public boolean equals​(Object o)
        Determine if two UIDs are equal.
        Overrides:
        equals in class Object
        Parameters:
        o - the other UID
        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 UID object.
        Overrides:
        hashCode in class Object
        Returns:
        a hash code reflecting the UID's data
      • save

        public void save​(DataOutput stream)
                  throws IOException
        Store this UID in a stream. This is a custom serialization implementation that is unrelated to the Serializable interface and the Java implementation of persistence.
        Parameters:
        stream - an object implementing java.io.DataOutput that this UID should write its internal information to.
        Throws:
        IOException - if an error occurs writing to the stream
      • 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
      • toLong

        public static long toLong​(InetAddress addr)
        Converts and IP address to a long value.
        Parameters:
        addr - an instance of InetAddress to convert to a long
        Returns:
        a long value holding the IP address
      • toString

        public static String toString​(long l)
        Converts a long value to an address string in the form returned by InetAddress#getHostAddress.
        Parameters:
        l - the long value holding the IP address
        Returns:
        the IP address string "%d.%d.%d.%d"