org.omg.DynamicAny

Class DynAnyHelper

public abstract class DynAnyHelper extends Object

The helper operations for {@link DynAny}. Following the 1.5 JDK specifications, DynAny 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 DynAnyextract(Any any)
Extract the DynAny from given Any.
static Stringid()
Get the DynAny repository id.
static voidinsert(Any any, DynAny that)
Insert the DynAny into the given Any.
static DynAnynarrow(Object obj)
Cast the passed object into the DynAny.
static DynAnyread(InputStream input)
This should read DynAny from the CDR input stream, but (following the JDK 1.5 API) it does not.
static TypeCodetype()
Get the type code of the {@link DynAny}.
static DynAnyunchecked_narrow(Object obj)
Narrow the given object to the DynAny.
static voidwrite(OutputStream output, DynAny value)
This should read DynAny from the CDR input stream, but (following the JDK 1.5 API) it does not.

Method Detail

extract

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

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

id

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

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

insert

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

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

narrow

public static DynAny narrow(Object obj)
Cast the passed object into the DynAny. As DynAny 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 DynAny.

read

public static DynAny read(InputStream input)
This should read DynAny 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 DynAny}.

unchecked_narrow

public static DynAny unchecked_narrow(Object obj)
Narrow the given object to the DynAny. 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 also OMG issue 4158.

Parameters: obj the object to cast.

Returns: the casted DynAny.

Since: 1.5

write

public static void write(OutputStream output, DynAny value)
This should read DynAny 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.