org.omg.CORBA

## Class Any

- java.lang.Object
- - org.omg.CORBA.Any

All Implemented Interfaces:
  Serializable, IDLEntity

    public abstract class Any
    extends Object
    implements IDLEntity

Serves as a container for any data that can be described in IDL or for any IDL primitive type. An `Any` object is used as a component of a `NamedValue` object, which provides information about arguments or return values in requests, and which is used to define name/value pairs in `Context` objects.

An `Any` object consists of two parts:

1. a data value
2. a `TypeCode` object describing the type of the data value contained in the `Any` object. For example, a `TypeCode` object for an array contains a field for the length of the array and a field for the type of elements in the array. (Note that in this case, the second field of the `TypeCode` object is itself a `TypeCode` object.)

A large part of the `Any` class consists of pairs of methods for inserting values into and extracting values from an `Any` object.

For a given primitive type X, these methods are:

`<bold> void insert_X(X x)</bold>`
  This method allows the insertion of an instance `x` of primitive type `X` into the `value` field of the `Any` object. Note that the method `insert_X` also resets the `Any` object's `type` field if necessary.
`<bold>X extract_X()</bold>`
  This method allows the extraction of an instance of type `X` from the `Any` object.

  This method throws the exception `BAD_OPERATION` under two conditions:

  1. the type of the element contained in the `Any` object is not `X`
  2. the method `extract_X` is called before the `value` field of the `Any` object has been set

There are distinct method pairs for each primitive IDL data type (`insert_long` and `extract_long`, `insert_string` and `extract_string`, and so on).

The class `Any` also has methods for getting and setting the type code, for testing two `Any` objects for equality, and for reading an `Any` object from a stream or writing it to a stream.

Since:
  JDK1.2

### Constructor Summary

Constructors
Constructor and Description
`Any()`

### Method Summary

Methods
`abstract InputStream` `create_input_stream()` Creates an input stream from which this `Any` object's value can be unmarshalled.
`abstract OutputStream` `create_output_stream()` Creates an output stream into which this `Any` object's value can be marshalled.
`abstract boolean` `equal(Any a)` Checks for equality between this `Any` object and the given `Any` object.
`abstract Any` `extract_any()` Extracts the `Any` object in this `Any` object's `value` field.
`abstract boolean` `extract_boolean()` Extracts the `boolean` in this `Any` object's `value` field.
`abstract char` `extract_char()` Extracts the `char` in this `Any` object's `value` field.
`abstract double` `extract_double()` Extracts the `double` in this `Any` object's `value` field.
`BigDecimal` `extract_fixed()` Extracts the `java.math.BigDecimal` object in this `Any` object's `value` field.
`abstract float` `extract_float()` Extracts the `float` in this `Any` object's `value` field.
`abstract int` `extract_long()` Extracts the `int` in this `Any` object's `value` field.
`abstract long` `extract_longlong()` Extracts the `long` in this `Any` object's `value` field.
`abstract Object` `extract_Object()` Extracts the `org.omg.CORBA.Object` in this `Any` object's `value` field.
`abstract byte` `extract_octet()` Extracts the `byte` in this `Any` object's `value` field.
`Principal` `extract_Principal()` Deprecated. Deprecated by CORBA 2.2.
`abstract short` `extract_short()` Extracts the `short` in this `Any` object's `value` field.
`Streamable` `extract_Streamable()` Extracts a `Streamable` from this `Any` object's `value` field.
`abstract String` `extract_string()` Extracts the `String` object in this `Any` object's `value` field.
`abstract TypeCode` `extract_TypeCode()` Extracts the `TypeCode` object in this `Any` object's `value` field.
`abstract int` `extract_ulong()` Extracts the `int` in this `Any` object's `value` field.
`abstract long` `extract_ulonglong()` Extracts the `long` in this `Any` object's `value` field.
`abstract short` `extract_ushort()` Extracts the `short` in this `Any` object's `value` field.
`abstract Serializable` `extract_Value()` Extracts the `java.io.Serializable` object in this `Any` object's `value` field.
`abstract char` `extract_wchar()` Extracts the `char` in this `Any` object's `value` field.
`abstract String` `extract_wstring()` Extracts the `String` object in this `Any` object's `value` field.
`abstract void` `insert_any(Any a)` Inserts the given `Any` object into this `Any` object's `value` field.
`abstract void` `insert_boolean(boolean b)` Inserts the given `boolean` into this `Any` object's `value` field.
`abstract void` `insert_char(char c)` Inserts the given `char` into this `Any` object's `value` field.
`abstract void` `insert_double(double d)` Inserts the given `double` into this `Any` object's `value` field.
`void` `insert_fixed(BigDecimal value)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception.
`void` `insert_fixed(BigDecimal value, TypeCode type)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception.
`abstract void` `insert_float(float f)` Inserts the given `float` into this `Any` object's `value` field.
`abstract void` `insert_long(int l)` Inserts the given `int` into this `Any` object's `value` field.
`abstract void` `insert_longlong(long l)` Inserts the given `long` into this `Any` object's `value` field.
`abstract void` `insert_Object(Object o)` Inserts the given `org.omg.CORBA.Object` object into this `Any` object's `value` field.
`abstract void` `insert_Object(Object o, TypeCode t)` Inserts the given `org.omg.CORBA.Object` object into this `Any` object's `value` field.
`abstract void` `insert_octet(byte b)` Inserts the given `byte` into this `Any` object's `value` field.
`void` `insert_Principal(Principal p)` Deprecated. Deprecated by CORBA 2.2.
`abstract void` `insert_short(short s)` Inserts the given `short` into this `Any` object's `value` field.
`void` `insert_Streamable(Streamable s)` Inserts the given `Streamable` object into this `Any` object's `value` field.
`abstract void` `insert_string(String s)` Inserts the given `String` object into this `Any` object's `value` field.
`abstract void` `insert_TypeCode(TypeCode t)` Inserts the given `TypeCode` object into this `Any` object's `value` field.
`abstract void` `insert_ulong(int l)` Inserts the given `int` into this `Any` object's `value` field.
`abstract void` `insert_ulonglong(long l)` Inserts the given `long` into this `Any` object's `value` field.
`abstract void` `insert_ushort(short s)` Inserts the given `short` into this `Any` object's `value` field.
`abstract void` `insert_Value(Serializable v)` Inserts the given `java.io.Serializable` object into this `Any` object's `value` field.
`abstract void` `insert_Value(Serializable v, TypeCode t)` Inserts the given `java.io.Serializable` object into this `Any` object's `value` field.
`abstract void` `insert_wchar(char c)` Inserts the given `char` into this `Any` object's `value` field.
`abstract void` `insert_wstring(String s)` Inserts the given `String` object into this `Any` object's `value` field.
`abstract void` `read_value(InputStream is, TypeCode t)` Reads off (unmarshals) the value of an `Any` object from the given input stream using the given typecode.
`abstract TypeCode` `type()` Returns type information for the element contained in this `Any` object.
`abstract void` `type(TypeCode t)` Sets this `Any` object's `type` field to the given `TypeCode` object and clears its value.
`abstract void` `write_value(OutputStream os)` Writes out the value of this `Any` object to the given output stream.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Any

    public Any()

### Method Detail

#### equal

    public abstract boolean equal(Any a)

Checks for equality between this `Any` object and the given `Any` object. Two `Any` objects are equal if both their values and type codes are equal.

Parameters:
  `a` - the `Any` object to test for equality
Returns:
  `true` if the `Any` objects are equal; `false` otherwise
See Also:
  `CORBA` package comments for unimplemented features

#### type

    public abstract TypeCode type()

Returns type information for the element contained in this `Any` object.

Returns:
  the `TypeCode` object containing type information about the value contained in this `Any` object

#### type

    public abstract void type(TypeCode t)

Sets this `Any` object's `type` field to the given `TypeCode` object and clears its value.

Note that using this method to set the type code wipes out the value if there is one. The method is provided primarily so that the type may be set properly for IDL `out` parameters. Generally, setting the type is done by the `insert_X` methods, which will set the type to X if it is not already set to X.

Parameters:
  `t` - the `TypeCode` object giving information for the value in this `Any` object

#### read_value

    public abstract void read_value(InputStream is,
                  TypeCode t)
                             throws MARSHAL

Reads off (unmarshals) the value of an `Any` object from the given input stream using the given typecode.

Parameters:
  `is` - the `org.omg.CORBA.portable.InputStream` object from which to read the value contained in this `Any` object
  `t` - a `TypeCode` object containing type information about the value to be read
Throws:
  `MARSHAL` - when the given `TypeCode` object is not consistent with the value that was contained in the input stream

#### write_value

    public abstract void write_value(OutputStream os)

Writes out the value of this `Any` object to the given output stream. If both `typecode` and `value` need to be written, use `create_output_stream()` to create an `OutputStream`, then use `write_any` on the `OutputStream`.

If this method is called on an `Any` object that has not had a value inserted into its `value` field, it will throw the exception `java.lang.NullPointerException`.

Parameters:
  `os` - the `org.omg.CORBA.portable.OutputStream` object into which to marshal the value of this `Any` object

#### create_output_stream

    public abstract OutputStream create_output_stream()

Creates an output stream into which this `Any` object's value can be marshalled.

Returns:
  the newly-created `OutputStream`

#### create_input_stream

    public abstract InputStream create_input_stream()

Creates an input stream from which this `Any` object's value can be unmarshalled.

Returns:
  the newly-created `InputStream`

#### extract_short

    public abstract short extract_short()
                                 throws BAD_OPERATION

Extracts the `short` in this `Any` object's `value` field.

Returns:
  the `short` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `short` or the `value` field has not yet been set

#### insert_short

    public abstract void insert_short(short s)

Inserts the given `short` into this `Any` object's `value` field.

Parameters:
  `s` - the `short` to insert into this `Any` object

#### extract_long

    public abstract int extract_long()
                              throws BAD_OPERATION

Extracts the `int` in this `Any` object's `value` field.

Returns:
  the `int` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than an `int` or the `value` field has not yet been set

#### insert_long

    public abstract void insert_long(int l)

Inserts the given `int` into this `Any` object's `value` field.

Parameters:
  `l` - the `int` to insert into this `Any` object

#### extract_longlong

    public abstract long extract_longlong()
                                   throws BAD_OPERATION

Extracts the `long` in this `Any` object's `value` field.

Returns:
  the `long` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `long` or the `value` field has not yet been set

#### insert_longlong

    public abstract void insert_longlong(long l)

Inserts the given `long` into this `Any` object's `value` field.

Parameters:
  `l` - the `long` to insert into this `Any` object

#### extract_ushort

    public abstract short extract_ushort()
                                  throws BAD_OPERATION

Extracts the `short` in this `Any` object's `value` field.

Returns:
  the `short` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `short` or the `value` field has not yet been set

#### insert_ushort

    public abstract void insert_ushort(short s)

Inserts the given `short` into this `Any` object's `value` field.

Parameters:
  `s` - the `short` to insert into this `Any` object

#### extract_ulong

    public abstract int extract_ulong()
                               throws BAD_OPERATION

Extracts the `int` in this `Any` object's `value` field.

Returns:
  the `int` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than an `int` or the `value` field has not yet been set

#### insert_ulong

    public abstract void insert_ulong(int l)

Inserts the given `int` into this `Any` object's `value` field.

Parameters:
  `l` - the `int` to insert into this `Any` object

#### extract_ulonglong

    public abstract long extract_ulonglong()
                                    throws BAD_OPERATION

Extracts the `long` in this `Any` object's `value` field.

Returns:
  the `long` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `long` or the `value` field has not yet been set

#### insert_ulonglong

    public abstract void insert_ulonglong(long l)

Inserts the given `long` into this `Any` object's `value` field.

Parameters:
  `l` - the `long` to insert into this `Any` object

#### extract_float

    public abstract float extract_float()
                                 throws BAD_OPERATION

Extracts the `float` in this `Any` object's `value` field.

Returns:
  the `float` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `float` or the `value` field has not yet been set

#### insert_float

    public abstract void insert_float(float f)

Inserts the given `float` into this `Any` object's `value` field.

Parameters:
  `f` - the `float` to insert into this `Any` object

#### extract_double

    public abstract double extract_double()
                                   throws BAD_OPERATION

Extracts the `double` in this `Any` object's `value` field.

Returns:
  the `double` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `double` or the `value` field has not yet been set

#### insert_double

    public abstract void insert_double(double d)

Inserts the given `double` into this `Any` object's `value` field.

Parameters:
  `d` - the `double` to insert into this `Any` object

#### extract_boolean

    public abstract boolean extract_boolean()
                                     throws BAD_OPERATION

Extracts the `boolean` in this `Any` object's `value` field.

Returns:
  the `boolean` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `boolean` or the `value` field has not yet been set

#### insert_boolean

    public abstract void insert_boolean(boolean b)

Inserts the given `boolean` into this `Any` object's `value` field.

Parameters:
  `b` - the `boolean` to insert into this `Any` object

#### extract_char

    public abstract char extract_char()
                               throws BAD_OPERATION

Extracts the `char` in this `Any` object's `value` field.

Returns:
  the `char` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `char` or the `value` field has not yet been set

#### insert_char

    public abstract void insert_char(char c)
                              throws DATA_CONVERSION

Inserts the given `char` into this `Any` object's `value` field.

Parameters:
  `c` - the `char` to insert into this `Any` object
Throws:
  `DATA_CONVERSION` - if there is a data conversion error

#### extract_wchar

    public abstract char extract_wchar()
                                throws BAD_OPERATION

Extracts the `char` in this `Any` object's `value` field.

Returns:
  the `char` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `char` or the `value` field has not yet been set

#### insert_wchar

    public abstract void insert_wchar(char c)

Inserts the given `char` into this `Any` object's `value` field.

Parameters:
  `c` - the `char` to insert into this `Any` object

#### extract_octet

    public abstract byte extract_octet()
                                throws BAD_OPERATION

Extracts the `byte` in this `Any` object's `value` field.

Returns:
  the `byte` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `byte` or the `value` field has not yet been set

#### insert_octet

    public abstract void insert_octet(byte b)

Inserts the given `byte` into this `Any` object's `value` field.

Parameters:
  `b` - the `byte` to insert into this `Any` object

#### extract_any

    public abstract Any extract_any()
                             throws BAD_OPERATION

Extracts the `Any` object in this `Any` object's `value` field.

Returns:
  the `Any` object stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than an `Any` object or the `value` field has not yet been set

#### insert_any

    public abstract void insert_any(Any a)

Inserts the given `Any` object into this `Any` object's `value` field.

Parameters:
  `a` - the `Any` object to insert into this `Any` object

#### extract_Object

    public abstract Object extract_Object()
                                   throws BAD_OPERATION

Extracts the `org.omg.CORBA.Object` in this `Any` object's `value` field.

Returns:
  the `org.omg.CORBA.Object` stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than an `org.omg.CORBA.Object` or the `value` field has not yet been set

#### insert_Object

    public abstract void insert_Object(Object o)

Inserts the given `org.omg.CORBA.Object` object into this `Any` object's `value` field.

Parameters:
  `o` - the `org.omg.CORBA.Object` object to insert into this `Any` object

#### extract_Value

    public abstract Serializable extract_Value()
                                        throws BAD_OPERATION

Extracts the `java.io.Serializable` object in this `Any` object's `value` field.

Returns:
  the `java.io.Serializable` object stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `java.io.Serializable` object or the `value` field has not yet been set

#### insert_Value

    public abstract void insert_Value(Serializable v)

Inserts the given `java.io.Serializable` object into this `Any` object's `value` field.

Parameters:
  `v` - the `java.io.Serializable` object to insert into this `Any` object

#### insert_Value

    public abstract void insert_Value(Serializable v,
                    TypeCode t)
                               throws MARSHAL

Inserts the given `java.io.Serializable` object into this `Any` object's `value` field.

Parameters:
  `v` - the `java.io.Serializable` object to insert into this `Any` object
  `t` - the `TypeCode` object that is to be inserted into this `Any` object's `type` field and that describes the `java.io.Serializable` object being inserted
Throws:
  `MARSHAL` - if the ORB has a problem marshalling or unmarshalling parameters

#### insert_Object

    public abstract void insert_Object(Object o,
                     TypeCode t)
                                throws BAD_PARAM

Inserts the given `org.omg.CORBA.Object` object into this `Any` object's `value` field.

Parameters:
  `o` - the `org.omg.CORBA.Object` instance to insert into this `Any` object
  `t` - the `TypeCode` object that is to be inserted into this `Any` object and that describes the `Object` being inserted
Throws:
  `BAD_OPERATION` - if this method is invalid for this `Any` object
  `BAD_PARAM`

#### extract_string

    public abstract String extract_string()
                                   throws BAD_OPERATION

Extracts the `String` object in this `Any` object's `value` field.

Returns:
  the `String` object stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `String` object or the `value` field has not yet been set

#### insert_string

    public abstract void insert_string(String s)
                                throws DATA_CONVERSION,
                                       MARSHAL

Inserts the given `String` object into this `Any` object's `value` field.

Parameters:
  `s` - the `String` object to insert into this `Any` object
Throws:
  `DATA_CONVERSION` - if there is a data conversion error
  `MARSHAL` - if the ORB has a problem marshalling or unmarshalling parameters

#### extract_wstring

    public abstract String extract_wstring()
                                    throws BAD_OPERATION

Extracts the `String` object in this `Any` object's `value` field.

Returns:
  the `String` object stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `String` object or the `value` field has not yet been set

#### insert_wstring

    public abstract void insert_wstring(String s)
                                 throws MARSHAL

Inserts the given `String` object into this `Any` object's `value` field.

Parameters:
  `s` - the `String` object to insert into this `Any` object
Throws:
  `MARSHAL` - if the ORB has a problem marshalling or unmarshalling parameters

#### extract_TypeCode

    public abstract TypeCode extract_TypeCode()
                                       throws BAD_OPERATION

Extracts the `TypeCode` object in this `Any` object's `value` field.

Returns:
  the `TypeCode` object stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `TypeCode` object or the `value` field has not yet been set

#### insert_TypeCode

    public abstract void insert_TypeCode(TypeCode t)

Inserts the given `TypeCode` object into this `Any` object's `value` field.

Parameters:
  `t` - the `TypeCode` object to insert into this `Any` object

#### extract_Principal

    @Deprecated
    public Principal extract_Principal()
                                throws BAD_OPERATION

Deprecated. Deprecated by CORBA 2.2.
Extracts the `Principal` object in this `Any` object's `value` field. Note that the class `Principal` has been deprecated.

Returns:
  the `Principal` object stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `Principal` object or the `value` field has not yet been set
See Also:
  `CORBA` package comments for unimplemented features

#### insert_Principal

    @Deprecated
    public void insert_Principal(Principal p)

Deprecated. Deprecated by CORBA 2.2.
Inserts the given `Principal` object into this `Any` object's `value` field. Note that the class `Principal` has been deprecated.

Parameters:
  `p` - the `Principal` object to insert into this `Any` object
See Also:
  `CORBA` package comments for unimplemented features

#### extract_Streamable

    public Streamable extract_Streamable()
                                  throws BAD_INV_ORDER

Extracts a `Streamable` from this `Any` object's `value` field. This method allows the extraction of non-primitive IDL types.

Returns:
  the `Streamable` stored in the `Any` object.
Throws:
  `BAD_INV_ORDER` - if the caller has invoked operations in the wrong order
See Also:
  `CORBA` package comments for unimplemented features

#### insert_Streamable

    public void insert_Streamable(Streamable s)

Inserts the given `Streamable` object into this `Any` object's `value` field. This method allows the insertion of non-primitive IDL types.

Parameters:
  `s` - the `Streamable` object to insert into this `Any` object; may be a non-primitive IDL type
See Also:
  `CORBA` package comments for unimplemented features

#### extract_fixed

    public BigDecimal extract_fixed()

Extracts the `java.math.BigDecimal` object in this `Any` object's `value` field.

Returns:
  the `java.math.BigDecimal` object stored in this `Any` object
Throws:
  `BAD_OPERATION` - if this `Any` object contains something other than a `java.math.BigDecimal` object or the `value` field has not yet been set
See Also:
  `CORBA` package comments for unimplemented features

#### insert_fixed

    public void insert_fixed(BigDecimal value)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception.

Inserts the given `java.math.BigDecimal` object into this `Any` object's `value` field.

Parameters:
  `value` - the `java.math.BigDecimal` object to insert into this `Any` object
See Also:
  `CORBA` package comments for unimplemented features

#### insert_fixed

    public void insert_fixed(BigDecimal value,
                    TypeCode type)
                      throws BAD_INV_ORDER

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception.

Inserts the given `java.math.BigDecimal` object into this `Any` object's `value` field.

Parameters:
  `value` - the `java.math.BigDecimal` object to insert into this `Any` object
  `type` - the `TypeCode` object that is to be inserted into this `Any` object's `type` field and that describes the `java.math.BigDecimal` object being inserted
Throws:
  `BAD_INV_ORDER` - if this method is invoked improperly
See Also:
  `CORBA` package comments for unimplemented features

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.