Java Compat 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, out parameters are mapped to Java Holder parameters.
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 final class LSeqHolder extends Ice.Holder<L[]> { ... }
public interface L
{
String op(int n, String s, java.lang.Object any, Ice.IntHolder m, Ice.StringHolder t, LSeqHolder newLSeq);
}