}
public Object readAny(org.omg.CORBA.portable.InputStream in)
throws org.omg.CORBA.SystemException {
Any any = in.read_any();
TypeCode typecode = any.type();
switch (typecode.kind().value()) {
case TCKind._tk_null:
case TCKind._tk_void:
return null;
case TCKind._tk_value:
case TCKind._tk_value_box:
return any.extract_Value();
case TCKind._tk_abstract_interface:
org.omg.CORBA_2_3.portable.InputStream in23 = (org.omg.CORBA_2_3.portable.InputStream) any
.create_input_stream();
return in23.read_abstract_interface();
case TCKind._tk_string:
return any.extract_string();
case TCKind._tk_objref:
org.omg.CORBA.Object ref = any.extract_Object();
return ref;
case TCKind._tk_any:
return any.extract_any();
default:
String id = "<unknown>";
try {
id = typecode.id();
} catch (org.omg.CORBA.TypeCodePackage.BadKind ex) {
}
throw new MARSHAL("cannot extract " + id + " ("
+ typecode.kind().value() + ") value from Any");
}
}