in yoko-core/src/main/java/org/apache/yoko/orb/CORBA/Any.java [294:363]
private void copyFrom(Any any) {
orbInstance_ = any.orbInstance_;
type_ = any.type_;
obType_ = any.obType_;
origType_ = any.origType_;
if (any.value_ instanceof org.omg.CORBA.portable.Streamable) {
readValue(any.create_input_stream());
return;
}
if (any.value_ == null) {
value_ = null;
return;
}
int kind = origType_.kind().value();
switch (kind) {
case org.omg.CORBA.TCKind._tk_null:
case org.omg.CORBA.TCKind._tk_void:
case org.omg.CORBA.TCKind._tk_short:
case org.omg.CORBA.TCKind._tk_long:
case org.omg.CORBA.TCKind._tk_longlong:
case org.omg.CORBA.TCKind._tk_ushort:
case org.omg.CORBA.TCKind._tk_ulong:
case org.omg.CORBA.TCKind._tk_ulonglong:
case org.omg.CORBA.TCKind._tk_float:
case org.omg.CORBA.TCKind._tk_double:
case org.omg.CORBA.TCKind._tk_boolean:
case org.omg.CORBA.TCKind._tk_char:
case org.omg.CORBA.TCKind._tk_wchar:
case org.omg.CORBA.TCKind._tk_octet:
case org.omg.CORBA.TCKind._tk_enum:
case org.omg.CORBA.TCKind._tk_string:
case org.omg.CORBA.TCKind._tk_wstring:
case org.omg.CORBA.TCKind._tk_fixed:
case org.omg.CORBA.TCKind._tk_TypeCode:
case org.omg.CORBA.TCKind._tk_Principal:
case org.omg.CORBA.TCKind._tk_objref:
case org.omg.CORBA_2_4.TCKind._tk_local_interface:
value_ = any.value_;
break;
case org.omg.CORBA.TCKind._tk_any:
case org.omg.CORBA.TCKind._tk_struct:
case org.omg.CORBA.TCKind._tk_except:
case org.omg.CORBA.TCKind._tk_union:
case org.omg.CORBA.TCKind._tk_sequence:
case org.omg.CORBA.TCKind._tk_array:
readValue(any.create_input_stream());
break;
case org.omg.CORBA.TCKind._tk_value:
case org.omg.CORBA.TCKind._tk_value_box:
case org.omg.CORBA.TCKind._tk_abstract_interface:
if (any.value_ instanceof InputStream)
readValue(any.create_input_stream());
else
value_ = any.value_;
break;
case org.omg.CORBA.TCKind._tk_native:
value_ = any.value_;
break;
case org.omg.CORBA.TCKind._tk_alias:
default:
org.apache.yoko.orb.OB.Assert._OB_assert("tk_alias not supported for copying");
}
}