IDL Complex Type | |
interface |
TBD Properties inside an interface are represented by set-accessors and get-accessors.
|
// CORBA IDL |
interface GoodDay { string hello_simple(); wstring hello_wide( in wstring msg ); }; |
e.g. GoodDay GoodDayOperations GoodDayHelper _GoodDayStub GoodDayPOA GoodDayPOATie |
// J# package demo.hello; /** * Interface definition : GoodDay * * @author TomORB J# Native Compiler */ public interface GoodDay extends GoodDayOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { } package demo.hello; /** * Helper class for : GoodDay * * @author TomORB J# Native Compiler */ public class GoodDayHelper { /** * Insert GoodDay into an any * @param a an any * @param t GoodDay value */ public static void insert(org.omg.CORBA.Any a, demo.hello.GoodDay t) { a.insert_Object(t , type()); } /** * Extract GoodDay from an any * @param a an any * @return the extracted GoodDay value */ public static demo.hello.GoodDay extract(org.omg.CORBA.Any a) { if (!a.type().equal(type())) throw new org.omg.CORBA.MARSHAL(); try { return demo.hello.GoodDayHelper.narrow(a.extract_Object()); } catch (final org.omg.CORBA.BAD_PARAM e) { throw new org.omg.CORBA.MARSHAL(e.getMessage()); } } // // Internal TypeCode value // private static org.omg.CORBA.TypeCode _tc = null; /** * Return the GoodDay TypeCode * @return a TypeCode */ public static org.omg.CORBA.TypeCode type() { if (_tc == null) { org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(); _tc = orb.create_interface_tc(id(),"GoodDay"); } return _tc; } /** * Return the GoodDay IDL ID * @return an ID */ public static java.lang.String id() { return _id; } private final static java.lang.String _id = "IDL:demo/hello/GoodDay:1.0"; /** * Read GoodDay from a marshalled stream * @param istream the input stream * @return the readed GoodDay value */ public static demo.hello.GoodDay read(org.omg.CORBA.portable.InputStream istream) { return(demo.hello.GoodDay)istream.read_Object(demo.hello._GoodDayStub.class); } /** * Write GoodDay into a marshalled stream * @param ostream the output stream * @param value GoodDay value */ public static void write(org.omg.CORBA.portable.OutputStream ostream, demo.hello.GoodDay value) { ostream.write_Object((org.omg.CORBA.portable.ObjectImpl)value); } /** * Narrow CORBA::Object to GoodDay * @param obj the CORBA Object * @return GoodDay Object */ public static GoodDay narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; if (obj instanceof GoodDay) return (GoodDay)obj; if (obj._is_a(id())) { _GoodDayStub stub = new _GoodDayStub(); stub._set_delegate(((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate()); return stub; } throw new org.omg.CORBA.BAD_PARAM(); } /** * Unchecked Narrow CORBA::Object to GoodDay * @param obj the CORBA Object * @return GoodDay Object */ public static GoodDay unchecked_narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; if (obj instanceof GoodDay) return (GoodDay)obj; _GoodDayStub stub = new _GoodDayStub(); stub._set_delegate(((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate()); return stub; } } package demo.hello; /** * Holder class for : GoodDay * * @author TomORB J# Native Compiler */ final public class GoodDayHolder implements org.omg.CORBA.portable.Streamable { /** * Internal GoodDay value */ public demo.hello.GoodDay value; /** * Default constructor */ public GoodDayHolder() { } /** * Constructor with value initialisation * @param initial the initial value */ public GoodDayHolder(demo.hello.GoodDay initial) { value = initial; } /** * Read GoodDay from a marshalled stream * @param istream the input stream */ public void _read(org.omg.CORBA.portable.InputStream istream) { value = GoodDayHelper.read(istream); } /** * Write GoodDay into a marshalled stream * @param ostream the output stream */ public void _write(org.omg.CORBA.portable.OutputStream ostream) { GoodDayHelper.write(ostream,value); } /** * Return the GoodDay TypeCode * @return a TypeCode */ public org.omg.CORBA.TypeCode _type() { return GoodDayHelper.type(); } } package demo.hello; /** * Interface definition : GoodDay * * @author TomORB J# Native Compiler */ public interface GoodDayOperations { /** * Operation hello_simple */ public java.lang.String hello_simple(); /** * Operation hello_wide */ public java.lang.String hello_wide(java.lang.String msg); } package demo.hello; /** * Interface definition : GoodDay * * @author TomORB J# Native Compiler */ public abstract class GoodDayPOA extends org.omg.PortableServer.Servant implements GoodDayOperations, org.omg.CORBA.portable.InvokeHandler { public GoodDay _this() { return GoodDayHelper.narrow(_this_object()); } public GoodDay _this(org.omg.CORBA.ORB orb) { return GoodDayHelper.narrow(_this_object(orb)); } private static java.lang.String [] _ids_list = { "IDL:demo/hello/GoodDay:1.0" }; public java.lang.String[] _all_interfaces(org.omg.PortableServer.POA poa, byte [] objectId) { return _ids_list; } public final org.omg.CORBA.portable.OutputStream _invoke(final java.lang.String opName, final org.omg.CORBA.portable.InputStream _is, final org.omg.CORBA.portable.ResponseHandler handler) { if (opName.equals("hello_simple")) { return _invoke_hello_simple(_is, handler); } else if (opName.equals("hello_wide")) { return _invoke_hello_wide(_is, handler); } else { throw new org.omg.CORBA.BAD_OPERATION(opName); } } // helper methods private org.omg.CORBA.portable.OutputStream _invoke_hello_simple( final org.omg.CORBA.portable.InputStream _is, final org.omg.CORBA.portable.ResponseHandler handler) { org.omg.CORBA.portable.OutputStream _output; java.lang.String _arg_result = hello_simple(); _output = handler.createReply(); _output.write_string(_arg_result); return _output; } private org.omg.CORBA.portable.OutputStream _invoke_hello_wide( final org.omg.CORBA.portable.InputStream _is, final org.omg.CORBA.portable.ResponseHandler handler) { org.omg.CORBA.portable.OutputStream _output; java.lang.String arg0_in = _is.read_wstring(); java.lang.String _arg_result = hello_wide(arg0_in); _output = handler.createReply(); _output.write_wstring(_arg_result); return _output; } } package demo.hello; /** * Interface definition : GoodDay * * @author TomORB J# Native Compiler */ public class GoodDayPOATie extends GoodDayPOA { // // Private reference to implementation object // private GoodDayOperations _tie; // // Private reference to POA // private org.omg.PortableServer.POA _poa; /** * Constructor */ public GoodDayPOATie(GoodDayOperations tieObject) { _tie = tieObject; } /** * Constructor */ public GoodDayPOATie(GoodDayOperations tieObject, org.omg.PortableServer.POA poa) { _tie = tieObject; _poa = poa; } public GoodDay _this() { return GoodDayHelper.narrow( _this_object()); } public GoodDay _this(org.omg.CORBA.ORB orb) { return GoodDayHelper.narrow( _this_object(orb)); } /** * Get the delegate */ public GoodDayOperations _delegate() { return _tie; } /** * Set the delegate */ public void _delegate(GoodDayOperations delegate_) { _tie = delegate_; } /** * _default_POA method */ public org.omg.PortableServer.POA _default_POA() { if (_poa != null) return _poa; else return super._default_POA(); } /** * Operation hello_simple */ public java.lang.String hello_simple() { return _tie.hello_simple(); } /** * Operation hello_wide */ public java.lang.String hello_wide(java.lang.String msg) { return _tie.hello_wide( msg); } } package demo.hello; /** * Interface definition : GoodDay * * @author TomORB J# Native Compiler */ public class _GoodDayStub extends org.omg.CORBA.portable.ObjectImpl implements GoodDay { static final java.lang.String[] _ids_list = { "IDL:demo/hello/GoodDay:1.0" }; public java.lang.String[] _ids() { return _ids_list; } private final static Class _opsType = demo.hello.GoodDayOperations.class; /** * Operation hello_simple */ public java.lang.String hello_simple() { while(true) { if (!this._is_local()) { org.omg.CORBA.portable.InputStream _input = null; try { org.omg.CORBA.portable.OutputStream _output = this._request("hello_simple",true); _input = this._invoke(_output); java.lang.String _arg_ret = _input.read_string(); return _arg_ret; } catch(org.omg.CORBA.portable.RemarshalException _exception) { continue; } catch(org.omg.CORBA.portable.ApplicationException _exception) { java.lang.String _exception_id = _exception.getId(); throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id); } finally { this._releaseReply(_input); } } else { org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("hello_simple",_opsType); if (_so == null) continue; demo.hello.GoodDayOperations _self = (demo.hello.GoodDayOperations) _so.servant; try { return _self.hello_simple(); } finally { _servant_postinvoke(_so); } } } } /** * Operation hello_wide */ public java.lang.String hello_wide(java.lang.String msg) { while(true) { if (!this._is_local()) { org.omg.CORBA.portable.InputStream _input = null; try { org.omg.CORBA.portable.OutputStream _output = this._request("hello_wide",true); _output.write_wstring(msg); _input = this._invoke(_output); java.lang.String _arg_ret = _input.read_wstring(); return _arg_ret; } catch(org.omg.CORBA.portable.RemarshalException _exception) { continue; } catch(org.omg.CORBA.portable.ApplicationException _exception) { java.lang.String _exception_id = _exception.getId(); throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id); } finally { this._releaseReply(_input); } } else { org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("hello_wide",_opsType); if (_so == null) continue; demo.hello.GoodDayOperations _self = (demo.hello.GoodDayOperations) _so.servant; try { return _self.hello_wide( msg); } finally { _servant_postinvoke(_so); } } } } } |