private void copyFrom()

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