The EJB Proxy generator maps datatypes between Java and PowerBuilder as shown in the following table:
Java type |
PowerBuilder type |
---|---|
short |
Integer |
int |
Long |
long |
LongLong |
float |
Real |
double |
Double |
byte |
Int |
char (16-bit unsigned) |
Char |
java.lang.String |
String |
boolean |
Boolean |
java.util.Date |
Datetime |
Array of primitive type |
Parameters: Array of primitive type Return values: Any |
Array of java.lang.String or java.util.Date objects |
Parameters: Array of String or DateTime Return values: Any |
Array of arrays |
Any |
Java class arguments or return values |
PowerBuilder proxies of Java classes |
Other |
Any |
A PowerBuilder double has 15 digits of precision (1.79769313486231E+308) and a Java double has 17 digits (1.7976931348623157e+308). For EJB client applications, the precision of a double is limited to the PowerBuilder range (2.2250738585073E-308 to 1.79769313486231E+308).
Unlike Java, PowerBuilder does not support unbounded multidimensional arrays. If a Java method takes an array of arrays as a parameter, the corresponding PowerBuilder proxy method takes a parameter of type Any. To call the method in PowerBuilder, declare a PowerBuilder array with the same dimensions as the Java array, and pass the array as the parameter.