Table summarizing the mappings from ESQL to Java™.
| ESQL data types 1 | Java IN data types | Java INOUT and OUT data types |
|---|---|---|
| INTEGER, INT | java.lang.Long | java.lang.Long [] |
| FLOAT | java.lang.Double | java.lang.Double[] |
| DECIMAL | java.math.BigDecimal | java.math.BigDecimal[] |
| CHARACTER, CHAR | java.lang.String | java.lang.String[] |
| BLOB | byte[] | byte[][] |
| BIT | java.util.BitSet | java.util.BitSet[] |
| DATE | com.ibm.broker.plugin.MbDate | com.ibm.broker.plugin.MbDate[] |
| TIME 2 | com.ibm.broker.plugin.MbTime | com.ibm.broker.plugin.MbTime[] |
| GMTTIME 2 | com.ibm.broker.plugin.MbTime | com.ibm.broker.plugin.MbTime[] |
| TIMESTAMP 2 | com.ibm.broker.plugin.MbTimestamp | com.ibm.broker.plugin.MbTimestamp[] |
| GMTTIMESTAMP 2 | com.ibm.broker.plugin.MbTimestamp | com.ibm.broker.plugin.MbTimestamp[] |
| INTERVAL | Not supported | Not supported |
| BOOLEAN | java.lang.Boolean | java.lang.Boolean[] |
| REFERENCE (to a message tree) 3 4 5 6 | com.ibm.broker.plugin.MbElement | com.ibm.broker.plugin.MbElement[] (Supported for INOUT. Not supported for OUT) |
| ROW | Not supported | Not supported |
| LIST | Not supported | Not supported |
For example, if an ESQL reference to OutputRoot.XML.Test is passed into a Java method as an INOUT MbElement, but a different MbElement is passed back to ESQL when the call returns, the different element must also point to somewhere in the OutputRoot tree.
A REFERENCE to a scalar variable can be used in the CALL of a Java method, provided that the data type of the variable to which the reference refers matches the corresponding data type in the Java program signature.