org.omg.DynamicAny

Class DynUnionHelper

public abstract class DynUnionHelper extends Object

The helper operations for {@link DynUnion}. Following the 1.5 JDK specifications, DynUnion is always a local object, so the two methods of this helper ({@link #read} and {@link #write} are not in use, always throwing {@link MARSHAL}.

UNKNOWN: always throwing MARSHAL in read and write ensures compatibility with other popular implementations like Sun's.

Method Summary
static DynUnionextract(Any any)
Extract the DynUnion from given Any.
static Stringid()
Get the DynUnion repository id.
static voidinsert(Any any, DynUnion that)
Insert the DynUnion into the given Any.
static DynUnionnarrow(Object obj)
Cast the passed object into the DynUnion.
static DynUnionread(InputStream input)
This should read DynUnion from the CDR input stream, but (following the JDK 1.5 API) it does not.
static TypeCodetype()
Get the type code of the {@link DynUnion}.
static DynUnionunchecked_narrow(Object obj)
Narrow the given object to the DynUnion.
static voidwrite(OutputStream output, DynUnion value)
This should read DynUnion from the CDR input stream, but (following the JDK 1.5 API) it does not.

Method Detail

extract

public static DynUnion extract(Any any)
Extract the DynUnion from given Any.

Throws: BAD_OPERATION if the passed Any does not contain DynUnion.

id

public static String id()
Get the DynUnion repository id.

Returns: "IDL:omg.org/DynamicAny/DynUnion:1.0", always.

insert

public static void insert(Any any, DynUnion that)
Insert the DynUnion into the given Any.

Parameters: any the Any to insert into. that the DynUnion to insert.

narrow

public static DynUnion narrow(Object obj)
Cast the passed object into the DynUnion. As DynUnion is a local object, the method just uses java type cast.

Parameters: obj the object to narrow.

Returns: narrowed instance.

Throws: BAD_PARAM if the passed object is not a DynUnion.

read

public static DynUnion read(InputStream input)
This should read DynUnion from the CDR input stream, but (following the JDK 1.5 API) it does not.

Parameters: input a org.omg.CORBA.portable stream to read from.

Throws: MARSHAL always.

UNKNOWN: Sun throws the same exception.

type

public static TypeCode type()
Get the type code of the {@link DynUnion}.

unchecked_narrow

public static DynUnion unchecked_narrow(Object obj)
Narrow the given object to the DynUnion. For the objects that are always local, this operation does not differ from the ordinary {@link #narrow} (ClassCastException will be thrown if narrowing something different). See OMG issue 4158.

Parameters: obj the object to cast.

Returns: the casted DynUnion.

Since: 1.5

write

public static void write(OutputStream output, DynUnion value)
This should read DynUnion from the CDR input stream, but (following the JDK 1.5 API) it does not.

Parameters: output a org.omg.CORBA.portable stream to write into.

Throws: MARSHAL always.

UNKNOWN: Sun throws the same exception.