in yoko-core/src/main/java/org/apache/yoko/orb/CORBA/Any.java [1060:1163]
public Any(org.omg.CORBA.Any any) {
//
// This constructor creates a new Any using the standard interface
//
//
// Optimization
//
if (any instanceof Any) {
copyFrom((Any) any);
return;
}
orbInstance_ = null;
setType(any.type());
switch (origType_.kind().value()) {
case org.omg.CORBA.TCKind._tk_null:
case org.omg.CORBA.TCKind._tk_void:
case org.omg.CORBA.TCKind._tk_Principal:
break;
case org.omg.CORBA.TCKind._tk_short:
value_ = new Integer(any.extract_short());
break;
case org.omg.CORBA.TCKind._tk_long:
value_ = new Integer(any.extract_long());
break;
case org.omg.CORBA.TCKind._tk_longlong:
value_ = new Long(any.extract_longlong());
break;
case org.omg.CORBA.TCKind._tk_ushort:
value_ = new Integer(any.extract_ushort());
break;
case org.omg.CORBA.TCKind._tk_ulong:
value_ = new Integer(any.extract_ulong());
break;
case org.omg.CORBA.TCKind._tk_ulonglong:
value_ = new Long(any.extract_ulonglong());
break;
case org.omg.CORBA.TCKind._tk_float:
value_ = new Float(any.extract_float());
break;
case org.omg.CORBA.TCKind._tk_double:
value_ = new Double(any.extract_double());
break;
case org.omg.CORBA.TCKind._tk_boolean:
value_ = new Boolean(any.extract_boolean());
break;
case org.omg.CORBA.TCKind._tk_char:
value_ = new Character(any.extract_char());
break;
case org.omg.CORBA.TCKind._tk_wchar:
value_ = new Character(any.extract_wchar());
break;
case org.omg.CORBA.TCKind._tk_octet:
value_ = new Byte(any.extract_octet());
break;
case org.omg.CORBA.TCKind._tk_string:
value_ = any.extract_string();
break;
case org.omg.CORBA.TCKind._tk_wstring:
value_ = any.extract_wstring();
break;
case org.omg.CORBA.TCKind._tk_fixed:
value_ = any.extract_fixed();
break;
case org.omg.CORBA.TCKind._tk_TypeCode:
value_ = any.extract_TypeCode();
break;
case org.omg.CORBA.TCKind._tk_objref:
case org.omg.CORBA.TCKind._tk_abstract_interface:
case org.omg.CORBA_2_4.TCKind._tk_local_interface:
try {
value_ = any.extract_Object();
break;
} catch (org.omg.CORBA.BAD_OPERATION ex) {
//
// Any must hold an abstract interface representing
// a valuetype, so fall through to default case
//
}
default:
readValue(any.create_input_stream());
break;
}
}