/***** Copyright (c) 1999-2000 Object Management Group. Unlimited rights to
       duplicate and use this code are hereby granted provided that this
       copyright notice is included.
*****/

package org.omg.CORBA;

import java.lang.Deprecated;

public abstract class Any implements org.omg.CORBA.portable.IDLEntity {

    abstract public boolean equal(org.omg.CORBA.Any a);

    abstract public org.omg.CORBA.TypeCode type();
    abstract public void type(org.omg.CORBA.TypeCode type);

    abstract public void read_value(org.omg.CORBA.portable.InputStream is, 
                    org.omg.CORBA.TypeCode type);
    abstract public void write_value(org.omg.CORBA.portable.OutputStream os);

    abstract public org.omg.CORBA.portable.OutputStream create_output_stream();
    abstract public org.omg.CORBA.portable.InputStream create_input_stream();

    abstract public short extract_short();
    abstract public void insert_short(short s);

    abstract public int extract_long();
    abstract public void insert_long(int i);

    abstract public long extract_longlong();
    abstract public void insert_longlong(long l);

    abstract public short extract_ushort();
    abstract public void insert_ushort(short s);

    abstract public int extract_ulong();
    abstract public void insert_ulong(int i);

    abstract public long extract_ulonglong();
    abstract public void insert_ulonglong(long l);

    abstract public float extract_float();
    abstract public void insert_float(float f);

    abstract public double extract_double();
    abstract public void insert_double(double d);

    abstract public boolean extract_boolean();
    abstract public void insert_boolean(boolean b);

    abstract public char extract_char();
    abstract public void insert_char(char c);

    abstract public char extract_wchar();
    abstract public void insert_wchar(char c);

    abstract public byte extract_octet();
    abstract public void insert_octet(byte b);

    abstract public org.omg.CORBA.Any extract_any();
    abstract public void insert_any(org.omg.CORBA.Any a);

    abstract public org.omg.CORBA.Object extract_Object();
    abstract public void insert_Object(org.omg.CORBA.Object obj);

    abstract public java.io.Serializable extract_Value();
    abstract public void insert_Value(java.io.Serializable v);
    abstract public void insert_Value(java.io.Serializable v, 
                        org.omg.CORBA.TypeCode t);

    abstract public void insert_Object(org.omg.CORBA.Object obj,
                        org.omg.CORBA.TypeCode type);

    abstract public String extract_string();
    abstract public void insert_string(String s);

    abstract public String extract_wstring();
    abstract public void insert_wstring(String value);

    abstract public TypeCode extract_TypeCode();
    abstract public void insert_TypeCode(TypeCode value);

    @Deprecated
    public Principal extract_Principal() {
        throw new org.omg.CORBA.NO_IMPLEMENT();
    }
    @Deprecated
    public void insert_Principal(Principal p) {
        throw new org.omg.CORBA.NO_IMPLEMENT();
    }

    public org.omg.CORBA.portable.Streamable extract_Streamable() {
        throw new org.omg.CORBA.NO_IMPLEMENT();
    }
    public void insert_Streamable(org.omg.CORBA.portable.Streamable s) {
        throw new org.omg.CORBA.NO_IMPLEMENT();
    }

    public java.math.BigDecimal extract_fixed() {
        throw new org.omg.CORBA.NO_IMPLEMENT();
    }
    public void insert_fixed(java.math.BigDecimal f,
                org.omg.CORBA.TypeCode t) {
        throw new org.omg.CORBA.NO_IMPLEMENT();
    }

}

