In Java terminology, a serializable object typically refers to an object that implements the
java.io.Serializable interface and therefore supports serialization to and from a byte stream. All Java classes generated from Slice definitions implement the
java.io.Serializable interface.
In addition to serializing Slice types, applications may also need to incorporate foreign types into their Slice definitions. As discussed in
Section 4.18, you can pass Java serializable objects directly as operation parameters or as fields of another data type. For example:
Similarly, the signature for op has parameters of type
JavaClass and
MyStruct for the in-parameters, and
Ice.Holder<SomePackage.JavaClass> for the out-parameter. (Out-parameters are always passed as
Ice.Holder<class>.)
You can implement this class in any way you see fit—the Ice run time does not place any other requirements on the implementation.