public Any()

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;
        }
    }