|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.bluetooth.UUID
The UUID class defines universally unique identifiers. These 128-bit unsigned integers are guaranteed
to be unique across all time and space. Accordingly, an instance of this class is immutable.
The Bluetooth specification provides an algorithm describing how a
16-bit or 32-bit UUID could be promoted to a 128-bit UUID. Accordingly, this class provides an interface that assists
applications in creating 16-bit, 32-bit, and 128-bit long UUIDs. The
methods supported by this class allow equality testing of two UUID objects.
The Bluetooth Assigned Numbers document ( http://www.bluetooth.org/assigned-numbers/sdp.htm) defines a large number of UUIDs for protocols and service classes. The table below provides a short list of the most common UUIDs defined in the Bluetooth Assigned Numbers document.
| Name | Value | Size |
|---|---|---|
| Base UUID Value (Used in promoting 16-bit and 32-bit UUIDs to 128-bit UUIDs) | 0x0000000000001000800000805F9B34FB | 128-bit |
| SDP | 0x0001 | 16-bit |
| RFCOMM | 0x0003 | 16-bit |
| OBEX | 0x0008 | 16-bit |
| HTTP | 0x000C | 16-bit |
| L2CAP | 0x0100 | 16-bit |
| BNEP | 0x000F | 16-bit |
| Serial Port | 0x1101 | 16-bit |
| ServiceDiscoveryServerServiceClassID | 0x1000 | 16-bit |
| BrowseGroupDescriptorServiceClassID | 0x1001 | 16-bit |
| PublicBrowseGroup | 0x1002 | 16-bit |
| OBEX Object Push Profile | 0x1105 | 16-bit |
| OBEX File Transfer Profile | 0x1106 | 16-bit |
| Personal Area Networking User | 0x1115 | 16-bit |
| Network Access Point | 0x1116 | 16-bit |
| Group Network | 0x1117 | 16-bit |
| Field Summary | |
static java.lang.String |
baseUUID
|
static UUID |
NULL_UUID
|
| Constructor Summary | |
UUID()
|
|
UUID(byte[] uuidBytes)
Christian Lorenz: Added this for use with DataElement implementation. |
|
UUID(long uuidValue)
Creates a UUID object from long value uuidValue. |
|
UUID(java.lang.String uuidValue,
boolean shortUUID)
Creates a UUID object from the string provided. |
|
| Method Summary | |
static UUID |
convert16to32(UUID uuid)
|
static UUID |
convert32to128(UUID uuid)
|
boolean |
equals(java.lang.Object value)
Determines if two UUIDs are equal. |
boolean |
equals(UUID other)
|
int |
hashCode()
Computes the hash code for this object. |
java.lang.String |
to32bitsString()
|
byte[] |
toByteArray()
|
byte[] |
toByteArray128()
Christian Lorenz: Added this for use with DataElement implementation. |
long |
toLong()
Christian Lorenz: Added this for use with equals(). |
java.lang.String |
toString()
Returns the string representation of the 128-bit UUID object. |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final java.lang.String baseUUID
public static final UUID NULL_UUID
| Constructor Detail |
public UUID()
public UUID(byte[] uuidBytes)
uuidBytes -
public UUID(long uuidValue)
throws java.lang.IllegalArgumentException
UUID object from long value uuidValue. A UUID
is defined as an unsigned integer whose value can range from
[0 to 2128-1]. However, this constructor allows only
those values that are in the range of [0 to 232 -1].
Negative values and values in the range of [232, 263 -1] are not
allowed and will cause an IllegalArgumentException to be thrown.
uuidValue - the 16-bit or 32-bit value of the UUID
java.lang.IllegalArgumentException - if uuidValue is not in the range [0, 232 -1]
public UUID(java.lang.String uuidValue,
boolean shortUUID)
throws java.lang.NullPointerException,
java.lang.IllegalArgumentException
UUID object from the string provided. The
characters in the string must be from the hexadecimal set [0-9,
a-f, A-F]. It is important to note that the prefix "0x" generally
used for hex representation of numbers is not allowed. If the
string does not have characters from the hexadecimal set, an
exception will be thrown. The string length has to be positive
and less than or equal to 32. A string length that exceeds 32 is
illegal and will cause an exception. Finally, a null input
is also considered illegal and causes an exception.
If shortUUID is true, uuidValue
represents a 16-bit or 32-bit UUID. If uuidValue is in
the range 0x0000 to 0xFFFF then this constructor will create a 16-bit UUID. If uuidValue is in the range
0x000010000 to 0xFFFFFFFF, then this constructor will create
a 32-bit UUID. Therefore, uuidValue may only be 8 characters long.
On the other hand, if shortUUID is false, then
uuidValue represents a 128-bit UUID. Therefore, uuidValue may only be 32 character long
uuidValue - the string representation of a 16-bit, 32-bit or 128-bit UUIDshortUUID - indicates the size of the UUID to be constructed; true is used to indicate short UUIDs,
i.e. either 16-bit or 32-bit; false indicates an 128-bit UUID
java.lang.NumberFormatException - if uuidValue
has characters that are not defined in the hexadecimal set [0-9, a-f, A-F]
java.lang.IllegalArgumentException - if uuidValue
length is zero; if shortUUID is true
and uuidValue's length is greater than 8; if shortUUID is false and
uuidValue's length is greater than 32
java.lang.NullPointerException - if uuidValue is null| Method Detail |
public java.lang.String toString()
null.
public java.lang.String to32bitsString()
public static UUID convert32to128(UUID uuid)
public static UUID convert16to32(UUID uuid)
throws java.lang.Exception
java.lang.Exception
public byte[] toByteArray128()
throws java.lang.Exception
java.lang.Exceptionpublic byte[] toByteArray()
public long toLong()
public boolean equals(java.lang.Object value)
UUIDs are equal. They are equal
if their 128 bit values are the same. This method will return false if value is
null or is not a UUID object.
value - the object to compare to
true if the 128 bit values of the two objects are equal, otherwise falsepublic boolean equals(UUID other)
public int hashCode()
java.lang.Object while overriding the implementation.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||