| IDL Complex Type | |
| abstract valuetype |
The CORBA abstact valuetype (TBD) ...... It maps to J#'s class type. |
// CORBA IDL |
module demo
{
moudle obv
{
abstract valuetype aValueBase
{
readonly attribute long number;
void print_base();
};
};
};
|
e.g. aValueBase aValueBaseHelper aValueBaseHolder |
// J#
package demo.obv.abstract_valuetype;
/**
* Value Type definition : aValueBase
*
* @author TomORB J# Native Compiler
*/
public interface aValueBase extends org.omg.CORBA.portable.ValueBase
{
/**
* Read accessor for number attribute
* @return the attribute value
*/
public abstract int number();
/**
* Operation print_base
*/
public abstract void print_base();
}
package demo.obv.abstract_valuetype;
/**
* Helper class for : aValueBase
*
* @author TomORB J# Native Compiler
*/
public class aValueBaseHelper
{
/**
* Insert aValueBase into an any
* @param a an any
* @param t aValueBase value
*/
public static void insert(org.omg.CORBA.Any a, demo.obv.abstract_valuetype.aValueBase t)
{
a.insert_Value(t, type());
}
/**
* Extract aValueBase from an any
* @param a an any
* @return the extracted aValueBase value
*/
public static demo.obv.abstract_valuetype.aValueBase extract(org.omg.CORBA.Any a)
{
if (!a.type().equal(type()))
throw new org.omg.CORBA.MARSHAL();
try {
return (demo.obv.abstract_valuetype.aValueBase)a.extract_Value();
}
catch(final java.lang.ClassCastException e) {
throw new org.omg.CORBA.MARSHAL(e.getMessage());
}
}
//
// Internal TypeCode value
//
private static org.omg.CORBA.TypeCode _tc = null;
private static boolean _working = false;
/**
* Return the aValueBase TypeCode
* @return a TypeCode
*/
public static org.omg.CORBA.TypeCode type()
{
if (_tc == null) {
synchronized(org.omg.CORBA.TypeCode.class) {
if (_tc != null)
return _tc;
if (_working)
return org.omg.CORBA.ORB.init().create_recursive_tc(id());
_working = true;
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init();
org.omg.CORBA.ValueMember []_members = new org.omg.CORBA.ValueMember[0];
org.omg.CORBA.TypeCode _concrete_tc = orb.get_primitive_tc(
org.omg.CORBA.TCKind.tk_null);
_tc = orb.create_value_tc(id(),"aValueBase",
org.omg.CORBA.VM_ABSTRACT.value,_concrete_tc,_members);
_working = false;
}
}
return _tc;
}
/**
* Return the aValueBase IDL ID
* @return an ID
*/
public static java.lang.String id()
{
return _id;
}
private final static java.lang.String _id = "IDL:demo/obv/abstract_valuetype/aValueBase:1.0";
/**
* Read aValueBase from a marshalled stream
* @param istream the input stream
* @return the readed aValueBase value
*/
public static demo.obv.abstract_valuetype.aValueBase read(
org.omg.CORBA.portable.InputStream istream)
{
return (demo.obv.abstract_valuetype.aValueBase)
((org.omg.CORBA_2_3.portable.InputStream)istream).read_value(_id.toString());
}
/**
* Write aValueBase into a marshalled stream
* @param ostream the output stream
* @param value aValueBase value
*/
public static void write(org.omg.CORBA.portable.OutputStream ostream,
demo.obv.abstract_valuetype.aValueBase value)
{
((org.omg.CORBA_2_3.portable.OutputStream)ostream).write_value(value, _id);
}
}
package demo.obv.abstract_valuetype;
/**
* Holder class for : aValueBase
*
* @author TomORB J# Native Compiler
*/
final public class aValueBaseHolder
implements org.omg.CORBA.portable.Streamable
{
/**
* Internal aValueBase value
*/
public demo.obv.abstract_valuetype.aValueBase value;
/**
* Default constructor
*/
public aValueBaseHolder()
{ }
/**
* Constructor with value initialisation
* @param initial the initial value
*/
public aValueBaseHolder(demo.obv.abstract_valuetype.aValueBase initial)
{
value = initial;
}
/**
* Read aValueBase from a marshalled stream
* @param istream the input stream
*/
public void _read(org.omg.CORBA.portable.InputStream istream)
{
value = aValueBaseHelper.read(istream);
}
/**
* Write aValueBase into a marshalled stream
* @param ostream the output stream
*/
public void _write(org.omg.CORBA.portable.OutputStream ostream)
{
aValueBaseHelper.write(ostream,value);
}
/**
* Return the aValueBase TypeCode
* @return a TypeCode
*/
public org.omg.CORBA.TypeCode _type()
{
return aValueBaseHelper.type();
}
}
|