Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド

[目次][索引][前へ][次へ]

25.6 custom valuetype

IDLでcustom valuetypeを宣言することによって,デフォルトのマーシャルモデルとアンマーシャルモデルをスキップできますが,ユーザはエンコーディングとデコーディングの責任を負います。

IDLサンプル25-3 custom valuetype IDL
 
custom valuetype customPoint{
   public long x;
   public long y;
   private string label;
   factory create(in long x, in long y, in string z);
};
 

ユーザは,CustomMarshalインタフェースからマーシャルおよびアンマーシャルメソッドをインプリメントする必要があります。

C++の場合
custom valuetypeを宣言する場合,正規のvaluetypeであるCORBA::StreamableValueとは対照的に,valuetypeはCORBA::CustomValueを継承します。コンパイラは,ユーザのvaluetype用の読み込みメソッド,書き込みメソッドを生成しません。
ユーザは,値の読み込み,書き込みを行うためにCORBA::DataInputStreamとCORBA::DataOutputStreamをそれぞれ使用して自分の読み込みメソッド,書き込みメソッドをインプリメントする必要があります。

Javaの場合
custom valuetypeを宣言する場合,正規のvaluetypeであるorg.omg.CORBA.portable.StreamableValueとは対照的に,valuetypeはorg.omg.CORBA.portable.CustomValueを継承します。コンパイラは,ユーザのvaluetype用の読み込みメソッド,書き込みメソッドを生成しません。
ユーザは,値の読み込み,書き込みを行うためにorg.omg.CORBA.portable.DataInputStreamとorg.omg.CORBA.portable.DataOutputStreamをそれぞれ使用して自分の読み込みメソッド,書き込みメソッドをインプリメントする必要があります。