Oracle® Coherence Java API Reference
v3.5

E14977-01

com.tangosol.util
Class UID

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.util.UID
All Implemented Interfaces:
PortableObject, java.io.Serializable, java.lang.Comparable

public class UID
extends Base
implements java.lang.Comparable, java.io.Serializable, PortableObject

A UID is a 128-bit identifier that is almost guaranteed to be unique.

Author:
cp 2000.09.12

Constructor Summary
UID()
          Construct a UID (default constructor).
UID(byte[] ab)
          Construct a UID from a byte array.
UID(java.io.DataInput stream)
          Construct a UID from a stream.
UID(int nAddr, long lDatetime, int nCount)
          Construct a UID from its constituent members (advanced constructor).
UID(java.lang.String s)
          Construct a UID from a String.
 
Method Summary
 int compareTo(java.lang.Object o)
          Compares this object with the specified object for order.
 boolean equals(java.lang.Object o)
          Determine if two UIDs are equal.
 int getAddress()
          Determine the internet address of the host that generated the UID instance (or a random number if no internet address was available)
 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.
 long getTimestamp()
          Determine the date/time value that the UID instance was generated.
 int hashCode()
          Determine a hash code for the UID object.
static void main(java.lang.String[] asArgs)
          Allow UID identifiers to be generated or parsed at the command line.
 void readExternal(java.io.DataInput in)
          
 void readExternal(PofReader in)
          Restore the contents of a user type instance by reading its state using the specified PofReader object.
 void save(java.io.DataOutput stream)
          Store this UID in a stream.
 byte[] toByteArray()
          Convert the UID to a byte array of 16 bytes.
 char[] toCharArray()
          Convert the UID to a character array of 32 hex digits.
static long toLong(java.net.InetAddress addr)
          Converts and IP address to a long value.
 java.lang.String toString()
          Convert the UID to a printable String.
static java.lang.String toString(long l)
          Converts a long value to an address string in the form returned by InetAddress#getHostAddress.
 void writeExternal(java.io.DataOutput out)
          
 void writeExternal(PofWriter out)
          Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
 

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(java.lang.String s)
Construct a UID from a String.

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

UID

public UID(java.io.DataInput stream)
    throws java.io.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:
java.io.IOException - if an error occurs reading from the stream
Method Detail

main

public static void main(java.lang.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 java.lang.String toString()
Convert the UID to a printable String.

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(java.lang.Object o)
Determine if two UIDs are equal.

Parameters:
o - the other UID
Returns:
true if the passed object is equal to this

compareTo

public int compareTo(java.lang.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 java.lang.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:
java.lang.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.

Returns:
a hash code reflecting the UID's data

save

public void save(java.io.DataOutput stream)
          throws java.io.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:
java.io.IOException - if an error occurs writing to the stream

readExternal

public void readExternal(java.io.DataInput in)
                  throws java.io.IOException

Throws:
java.io.IOException

writeExternal

public void writeExternal(java.io.DataOutput out)
                   throws java.io.IOException

Throws:
java.io.IOException

readExternal

public void readExternal(PofReader in)
                  throws java.io.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:
java.io.IOException - if an I/O error occurs

writeExternal

public void writeExternal(PofWriter out)
                   throws java.io.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:
java.io.IOException - if an I/O error occurs

toLong

public static long toLong(java.net.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 java.lang.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"

Oracle® Coherence Java API Reference
v3.5

E14977-01

Copyright © 2000, 2009, Oracle. All rights reserved.