JXTA ID UUID Format Type

The reference implementation of JXTA provides an implementation of JXTA IDs based on UUIDs. In this implementation UUIDs are encoded as hex digits as the basis for the uniqueness of the identifiers. This optional ID format is identified as the "uuid" format. At the end of each UUID ID two hex characters identify the type of JXTA ID. Currently, six ID types have been defined. The data portion of the ID precedes the ID type.

<JXTAUUIDURN>    ::= "urn:" <JXTANS> ":" <JXTAUUIDFMT> "-"
                     <(1*(<hex> <hex>)) <JXTAUUIDIDTYPE>
<JXTAUUIDFMT>    ::= "uuid"
<JXTAUUIDIDTYPE> ::= <CODATID> | <PEERGROUPID> | <PEERID> |
                     <PIPEID> | <MODULECLASSID> | <MODULESPECID>
<CODATID>        ::= "01"
<PEERGROUPID>    ::= "02"
<PEERID>         ::= "03"
<PIPEID>         ::= "04"
<MODULECLASSID>  ::= "05"
<MODULESPECID>   ::= "06"

The characters preceding the ID type identifier are the encoded form of the ID. The encoding consists of a variable number of characters dependent on the ID type being encoded. To decode the ID, the hex characters are translated in order into the elements of a byte array from which the various ID components can be retrieved. All JXTA UUID IDs are currently manipulated as 64-byte arrays, although no ID type currently requires all 64 bytes to encode their contents. Position 63 always contains the UUID ID type value. The remainder of the ID fields are defined beginning at Position 0 and increment to Position 63.

To make the text presentation of JXTA UUID IDs as URNs more compact, implementations ...

Get JXTA in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.