Java Mapping for Operations on Local Types
An operation on a local interface or a local class is mapped to a Java method with the same name. The mapping of operation parameters to Java is identical to the Client-Side Mapping for these parameters, in particular, when an operation has more than one return value and out parameters, the mapped Java method returns a generated Result object.
Unlike the Client-Side mapping, there is no mapped method with a trailing Context parameter.
For example:
Slice
module M
{
local interface L; // forward declared
local sequence<L> LSeq;
local interface L
{
string op(int n, string s, LocalObject any, out int m, out string t, out LSeq newLSeq);
}
}
is mapped to:
Java
package M;
public interface L
{
public static class OpResult
{
public OpResult()
{
}
public OpResult(String returnValue, int m, String t, L[] newLSeq)
{
this.returnValue = returnValue;
this.m = m;
this.t = t;
this.newLSeq = newLSeq;
}
public String returnValue;
public int m;
public String t;
public L[] newLSeq;
}
OpResult op(int n, String s, java.lang.Object any);
}