| IDL Complex Type | |
| custom valuetype |
The CORBA custom valuetype (TBD) ..... It maps to J#'s class type. |
// CORBA IDL |
custom valuetype valueExample
{
private long number_state;
public string name_state;
void print();
};
|
e.g. valueExample valueExampleHelper |
// J#
package demo.obv.custom;
/**
* Value Type definition : valueExample
*
* @author TomORB J# Native Compiler
*/
public abstract class valueExample implements org.omg.CORBA.portable.CustomValue
{
/**
* Private member : number_state
*/
protected int number_state;
/**
* Public member : name_state
*/
public java.lang.String name_state;
/**
* Read accessor for number attribute
* @return the attribute value
*/
public abstract int number();
/**
* Operation print
*/
public abstract void print();
/**
* Return the truncatable ids
*/
static final java.lang.String[] _ids_list =
{
"IDL:demo/obv/custom/valueExample:1.0"
};
public java.lang.String[] _truncatable_ids()
{
return _ids_list;
}
}
package demo.obv.custom;
/**
* Helper class for : valueExample
*
* @author TomORB J# Native Compiler
*/
public class valueExampleHelper
{
/**
* Insert valueExample into an any
* @param a an any
* @param t valueExample value
*/
public static void insert(org.omg.CORBA.Any a, demo.obv.custom.valueExample t)
{
a.insert_Value(t, type());
}
/**
* Extract valueExample from an any
* @param a an any
* @return the extracted valueExample value
*/
public static demo.obv.custom.valueExample extract(org.omg.CORBA.Any a)
{
if (!a.type().equal(type()))
throw new org.omg.CORBA.MARSHAL();
try {
return (demo.obv.custom.valueExample)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 valueExample 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[2];
_members[0] = new org.omg.CORBA.ValueMember();
_members[0].name = "number_state";
_members[0].type = orb.get_primitive_tc(org.omg.CORBA.TCKind.tk_long);
_members[0].access = org.omg.CORBA.PRIVATE_MEMBER.value;
_members[1] = new org.omg.CORBA.ValueMember();
_members[1].name = "name_state";
_members[1].type = orb.get_primitive_tc(org.omg.CORBA.TCKind.tk_string);
_members[1].access = org.omg.CORBA.PUBLIC_MEMBER.value;
org.omg.CORBA.TypeCode _concrete_tc = orb.get_primitive_tc(
org.omg.CORBA.TCKind.tk_null);
_tc = orb.create_value_tc(id(),"valueExample",
org.omg.CORBA.VM_CUSTOM.value,_concrete_tc,_members);
_working = false;
}
}
return _tc;
}
/**
* Return the valueExample IDL ID
* @return an ID
*/
public static java.lang.String id()
{
return _id;
}
private final static java.lang.String _id = "IDL:demo/obv/custom/valueExample:1.0";
/**
* Read valueExample from a marshalled stream
* @param istream the input stream
* @return the readed valueExample value
*/
public static demo.obv.custom.valueExample read(
org.omg.CORBA.portable.InputStream istream)
{
return (demo.obv.custom.valueExample)
((org.omg.CORBA_2_3.portable.InputStream) istream).read_value(_id.toString());
}
/**
* Write valueExample into a marshalled stream
* @param ostream the output stream
* @param value valueExample value
*/
public static void write(org.omg.CORBA.portable.OutputStream ostream,
demo.obv.custom.valueExample value)
{
((org.omg.CORBA_2_3.portable.OutputStream)ostream).write_value(value, _id);
}
}
package demo.obv.custom;
/**
* Holder class for : valueExample
*
* @author TomORB J# Native Compiler
*/
final public class valueExampleHolder
implements org.omg.CORBA.portable.Streamable
{
/**
* Internal valueExample value
*/
public demo.obv.custom.valueExample value;
/**
* Default constructor
*/
public valueExampleHolder()
{ }
/**
* Constructor with value initialisation
* @param initial the initial value
*/
public valueExampleHolder(demo.obv.custom.valueExample initial)
{
value = initial;
}
/**
* Read valueExample from a marshalled stream
* @param istream the input stream
*/
public void _read(org.omg.CORBA.portable.InputStream istream)
{
value = valueExampleHelper.read(istream);
}
/**
* Write valueExample into a marshalled stream
* @param ostream the output stream
*/
public void _write(org.omg.CORBA.portable.OutputStream ostream)
{
valueExampleHelper.write(ostream,value);
}
/**
* Return the valueExample TypeCode
* @return a TypeCode
*/
public org.omg.CORBA.TypeCode _type()
{
return valueExampleHelper.type();
}
}
|