Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]() ![]() |
第6章 アプリケーションの開発(Java言語) | > 6.5 クライアントアプリケーションのプログラミング(動的起動インタフェース) |
インタフェースリポジトリには、IDLで定義されたモジュール名、インタフェース名、オペレーション名およびパラメタが階層構造で格納されます。サーバアプリケーションの情報を獲得するため、以下の手順で検索を行います。
インタフェースリポジトリからサーバアプリケーションの情報を獲得するためには、org.omg.CORBA.InterfaceDefオブジェクトのオブジェクトリファレンスが必要です。org.omg.CORBA.Object._get_interface_def()メソッドを使用します。
//org.omg.CORBA.InterfaceDefオブジェクトリファレンス取得 org.omg.CORBA.Object intf_obj = target._get_interface_def(); org.omg.CORBA.InterfaceDef intf = org.omg.CORBA.InterfaceDefHelper.narrow( intf_obj );
org.omg.CORBA.InterfaceDef.lookup_name()メソッドにより、インタフェースリポジトリから指定されたメソッドを検索します。パラメタとしてサーバアプリケーションのメソッド名を指定します。結果として、指定したメソッド情報が格納されたorg.omg.CORBA.OperationDefオブジェクトのオブジェクトリファレンスが通知されます。
//メソッドのorg.omg.CORBA.OperationDefオブジェクトリファレンス取得 String name = new String( "calcurate" ); org.omg.CORBA.Contained[] intf_opr = intf.lookup_name( name, -1, org.omg.CORBA.DefinitionKind.dk_Operation, false );
org.omg.CORBA.Contained.describe()メソッドにより、サーバアプリケーションがもっているメソッドのパラメタの情報(パラメタの名前、個数、パラメタの型等)をインタフェースリポジトリから検索します。パラメタとして、org.omg.CORBA.OperationDefオブジェクトリファレンスを指定します。
org.omg.CORBA.ContainedPackage.Description desc = intf_opr[0].describe(); //指定されたメソッドのパラメタ情報を検索
目次
索引
![]() ![]() |