FileDocCategorySizeDatePackage
DynAnyFactoryHelper.javaAPI DocJava SE 6 API4258Tue Jun 10 01:33:24 BST 2008org.omg.DynamicAny

DynAnyFactoryHelper

public abstract class DynAnyFactoryHelper extends Object
DynAny objects can be created by invoking operations on the DynAnyFactory object. Generally there are only two ways to create a DynAny object:
  • invoking an operation on an existing DynAny object
  • invoking an operation on a DynAnyFactory object
A constructed DynAny object supports operations that enable the creation of new DynAny objects encapsulating access to the value of some constituent. DynAny objects also support the copy operation for creating new DynAny objects. A reference to the DynAnyFactory object is obtained by calling ORB.resolve_initial_references() with the identifier parameter set to the string constant "DynAnyFactory".

Dynamic interpretation of an any usually involves creating a DynAny object using create_dyn_any() as the first step. Depending on the type of the any, the resulting DynAny object reference can be narrowed to a DynFixed, DynStruct, DynSequence, DynArray, DynUnion, DynEnum, or DynValue object reference.

Dynamic creation of an any involves creating a DynAny object using create_dyn_any_from_type_code(), passing the TypeCode associated with the value to be created. The returned reference is narrowed to one of the complex types, such as DynStruct, if appropriate. Then, the value can be initialized by means of invoking operations on the resulting object. Finally, the to_any operation can be invoked to create an any value from the constructed DynAny.

Fields Summary
private static String
_id
private static org.omg.CORBA.TypeCode
__typeCode
Constructors Summary
Methods Summary
public static org.omg.DynamicAny.DynAnyFactoryextract(org.omg.CORBA.Any a)

    return read (a.create_input_stream ());
  
public static java.lang.Stringid()

    return _id;
  
public static voidinsert(org.omg.CORBA.Any a, org.omg.DynamicAny.DynAnyFactory that)


         
  
    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
    a.type (type ());
    write (out, that);
    a.read_value (out.create_input_stream (), type ());
  
public static org.omg.DynamicAny.DynAnyFactorynarrow(org.omg.CORBA.Object obj)

    if (obj == null)
      return null;
    else if (obj instanceof org.omg.DynamicAny.DynAnyFactory)
      return (org.omg.DynamicAny.DynAnyFactory)obj;
    else if (!obj._is_a (id ()))
      throw new org.omg.CORBA.BAD_PARAM ();
    else
    {
      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
      org.omg.DynamicAny._DynAnyFactoryStub stub = new org.omg.DynamicAny._DynAnyFactoryStub ();
      stub._set_delegate(delegate);
      return stub;
    }
  
public static org.omg.DynamicAny.DynAnyFactoryread(org.omg.CORBA.portable.InputStream istream)

      throw new org.omg.CORBA.MARSHAL ();
  
public static synchronized org.omg.CORBA.TypeCodetype()

       
  
    if (__typeCode == null)
    {
      __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.omg.DynamicAny.DynAnyFactoryHelper.id (), "DynAnyFactory");
    }
    return __typeCode;
  
public static org.omg.DynamicAny.DynAnyFactoryunchecked_narrow(org.omg.CORBA.Object obj)

    if (obj == null)
      return null;
    else if (obj instanceof org.omg.DynamicAny.DynAnyFactory)
      return (org.omg.DynamicAny.DynAnyFactory)obj;
    else
    {
      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
      org.omg.DynamicAny._DynAnyFactoryStub stub = new org.omg.DynamicAny._DynAnyFactoryStub ();
      stub._set_delegate(delegate);
      return stub;
    }
  
public static voidwrite(org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.DynAnyFactory value)

      throw new org.omg.CORBA.MARSHAL ();