25.1.1 concrete valuetype
concrete valuetypeには,状態データがあります。次のように通常のIDLの表現形式を拡張したものです。
-
一つのconcrete valuetypeの派生および複数のabstract valuetypeの派生
-
複数のインタフェースのサポート(一つのconcreteおよび複数のabstract)
-
任意の再帰的なvaluetypeの定義
-
ヌルセマンティクス
-
共用セマンティクス
(1) valuetypeの派生
concrete valuetypeを別のconcrete valuetypeから派生させることができますが,valuetypeは,別の複数のabstract valuetypeから派生させることもできます。
(2) 共用セマンティクス
valuetypeインスタンスは,別のインスタンスのvaluetypeと共用できます。struct,union,またはsequenceのようなほかのIDLデータ型は共用できません。共用されるvaluetypeは,送信コンテキストおよび受信コンテキスト間で同じ型です。
さらに,同じvaluetypeが複数の引数のオペレーションに渡されると,受信コンテキストは両方の引数の同じvaluetypeリファレンスを受け取ります。
(3) ヌルセマンティクス
ヌルvaluetypeは,struct,union,sequenceのようなIDLデータ型と異なり,ネットワーク越しに渡せます。例えば,structをボックス型valuetypeとしてボックス化すると,ヌル値structを渡せます。詳細については,「25.4 ボックス型 valuetype」を参照してください。
(4) ファクトリ
ファクトリは,移植性のあるvaluetypeを生成するために,valuetypeで宣言できるメソッドです。ファクトリの詳細については,「25.3 ファクトリのインプリメント」を参照してください。