Skip to content
ombre42 edited this page Jun 6, 2012 · 11 revisions

Table of Contents

Return Types

Java type Python type
String, char[] string
int, Integer, short, Short, byte, Byte int
long, Long string
double, Double, float, Float float
boolean, Boolean bool
List list
array of primitive types except char list
array of <? extends Object> list
Iterable list
Map[1] dict
All others string
[1] All keys are converted to string before returning the Map to Robot Framework.

Parameter Types

Java type Python type
String string
int, Integer int
double, Double float
boolean, Boolean bool
List<Object> list, tuple
Object[][1] list, tuple
Map dict
[1] For static API libraries: if the last parameter is an array-type, then the ArgumentGrouper may convert the arguments to String. This is being investigated.

Dynamic API Libraries

Dynamic libraries are responsible for dispatching run_keyword calls. jrobotremoteserver, therefore, has no way of determining the parameter types. Do not mix arrays and lists because of this. jrobotremoteserver will send array-type (XML-RPC) arguments as arrays first. If that fails due to an IllegalArgumentException, it will convert arrays to ArrayLists and invoke run_Keyword/runKeyword again.

Static API Libraries

Public methods in the user class and its super classes are considered keywords. Methods from Object.class that are not overridden are excluded.

Currently, jrobotremoteserver does not support using multiple methods to implement a single keyword as seen the user guide.

Clone this wiki locally