<document>
<localtoc/>

Burlap and Hessian use type names in two contexts:

- as <type> values for lists and objects.
- as mangled names for method overloading

The mapping from a language's types to the Burlap/Hessian names is necessarily language dependent, but designed for cross-language use.

The mapping of specific Java types to Burlap/Hessian is relatively straightforward. A Java implementation will also use this mapping when it's parsing and knows the type of the object. Contrast that with the Burlap to Java mapping. Note that XML DOM is mapped to a string.

<deftable>
Java Burlap
null null
String string
boolean boolean
byte int
short int
int int
long long
float double
double double
char string
Boolean boolean
Byte int
Short int
Integer int
Long long
Float double
Double double
Character string
</deftable> <deftable>
Java Burlap
String string
StringBuffer string
char[]string
org.w3c.dom.Node string
byte[]base64
Object[][object
</deftable> <deftable>
Java Burlap
Date date
List list
Vector list
Map map
HashMap map
Hashtable map
Object map (with serialization)
EJBHome remote (using HomeHandle)
EJBObject remote (using Handle)
</deftable> <note>Some of these conversions are lossy. For example, a Byte object serialized and then deserialized will become an Integer. This is the price paid working with other languages.</note>

Java-based servers typically expose three overloaded methods:

- The simple method name, which corresponds to the shorted overloaded method.
- The method name with the number of arguments appended, e.g. add__2.
- The method name with the Burlap/Hessian types, e.g. add_int_int

In this case, all of "add" , "add__2", and "add_int_int" will map to the same method. The client will use whichever is appropriate to its capabilities. For example, many scripting languages can only handle the number of arguments as a mangling technique.

In several cases, a Java parser may know nothing about the expected type. For example, an method's argument might be Object or the serialized data may be in a Vector, or a client may not specify the type for a <map>.

<deftable>
Burlap Java
null null
boolean Boolean
int Integer
double Double
string String
date Date
base64 byte []
list ArrayList
map HashMap
</deftable>

- Change ;ejbid= to ?ejbid=

- Change SML-RPC to Burlap

</document>