AllJoyn is designed as a backwards-compatible extension of DBus, a standard protocol for inter-application communication in the Linux desktop environment. It offers the following features:
This document describes the Java language binding for the AllJoyn API. It covers the following topics:
The following table summarizes the AllJoyn types.
| Conventional Name | Code | ASCII | Description | 
|---|---|---|---|
| INVALID | 0 | NUL | Not a valid type code, used to terminate signatures | 
| BYTE | 121 | 'y' | 8-bit unsigned integer | 
| BOOLEAN | 98 | 'b' | Boolean value, 0 is FALSE and 1 is TRUE. Everything else is invalid. | 
| INT16 | 110 | 'n' | 16-bit signed integer | 
| UINT16 | 113 | 'q' | 16-bit unsigned integer | 
| INT32 | 105 | 'i' | 32-bit signed integer | 
| UINT32 | 117 | 'u' | 32-bit unsigned integer | 
| INT64 | 120 | 'x' | 64-bit signed integer | 
| UINT64 | 116 | 't' | 64-bit unsigned integer | 
| DOUBLE | 100 | 'd' | IEEE 754 double | 
| STRING | 115 | 's' | UTF-8 string (must be valid UTF-8). Must be nul terminated and contain no other nul bytes. | 
| OBJECT_PATH | 111 | 'o' | Name of an object instance | 
| SIGNATURE | 103 | 'g' | A type signature | 
| ARRAY | 97 | 'a' | Array | 
| STRUCT | 114, 40, 41 | 'r','(',')' | Struct | 
| VARIANT | 118 | 'v' | Variant type (the type of the value is part of the value itself) | 
| DICT_ENTRY | 101, 123, 125 | 'e','{','}' | Entry in a dict or map (array of key-value pairs) | 
Four of the types are container types: STRUCT, ARRAY, VARIANT, and DICT_ENTRY. All other types are a common basic data types.
When specifying a STRUCT or DICT_ENTRY, 'r' and 'e' should not be used. Instead use ASCII characters '(', ')', '{', and '}' to mark the beginning and ending of a container.