any
に関連付けられたデータ値のトラバース、およびデータ値の基本的な構成要素の抽出を可能にするクラスとインタフェースを提供します。参照: 説明
インタフェース | 説明 |
---|---|
DynAny |
Anyの値は、DynAnyオブジェクトを通して動的に解釈(トラバース)および構築できます。
|
DynAnyFactory |
DynAnyオブジェクトは、DynAnyFactoryオブジェクトでオペレーションを呼び出すことで作成できます。
|
DynAnyFactoryOperations |
DynAnyオブジェクトは、DynAnyFactoryオブジェクトでオペレーションを呼び出すことで作成できます。
|
DynAnyOperations |
Anyの値は、DynAnyオブジェクトを通して動的に解釈(トラバース)および構築できます。
|
DynArray |
DynArrayオブジェクトによって、IDLの配列の操作がサポートされます。
|
DynArrayOperations |
DynArrayオブジェクトによって、IDLの配列の操作がサポートされます。
|
DynEnum |
DynEnumオブジェクトによって、IDLの列挙値の操作がサポートされます。
|
DynEnumOperations |
DynEnumオブジェクトによって、IDLの列挙値の操作がサポートされます。
|
DynFixed |
DynFixedオブジェクトによって、IDLのfixed値の操作がサポートされます。
|
DynFixedOperations |
DynFixedオブジェクトによって、IDLのfixed値の操作がサポートされます。
|
DynSequence |
DynSequenceオブジェクトによって、IDLのシーケンスの操作がサポートされます。
|
DynSequenceOperations |
DynSequenceオブジェクトによって、IDLのシーケンスの操作がサポートされます。
|
DynStruct |
DynStructオブジェクトによって、IDL構造体および例外値の操作がサポートされます。
|
DynStructOperations |
DynStructオブジェクトによって、IDL構造体および例外値の操作がサポートされます。
|
DynUnion |
DynUnionオブジェクトによって、IDLの共用体の操作がサポートされます。
|
DynUnionOperations |
DynUnionオブジェクトによって、IDLの共用体の操作がサポートされます。
|
DynValue |
DynValueオブジェクトによって、IDLの非boxed値型の操作がサポートされます。
|
DynValueBox |
DynValueBoxオブジェクトによって、IDLのboxed値型の操作がサポートされます。
|
DynValueBoxOperations |
DynValueBoxオブジェクトによって、IDLのboxed値型の操作がサポートされます。
|
DynValueCommon |
DynValueCommonは、DynValueおよびDynValueBoxインタフェースでサポートされるオペレーションを提供します。
|
DynValueCommonOperations |
DynValueCommonは、DynValueおよびDynValueBoxインタフェースでサポートされるオペレーションを提供します。
|
DynValueOperations |
DynValueオブジェクトによって、IDLの非boxed値型の操作がサポートされます。
|
クラス | 説明 |
---|---|
_DynAnyFactoryStub |
DynAnyオブジェクトは、DynAnyFactoryオブジェクトでオペレーションを呼び出すことで作成できます。
|
_DynAnyStub |
Anyの値は、DynAnyオブジェクトを通して動的に解釈(トラバース)および構築できます。
|
_DynArrayStub |
DynArrayオブジェクトによって、IDLの配列の操作がサポートされます。
|
_DynEnumStub |
DynEnumオブジェクトによって、IDLの列挙値の操作がサポートされます。
|
_DynFixedStub |
DynFixedオブジェクトによって、IDLのfixed値の操作がサポートされます。
|
_DynSequenceStub |
DynSequenceオブジェクトによって、IDLのシーケンスの操作がサポートされます。
|
_DynStructStub |
DynStructオブジェクトによって、IDL構造体および例外値の操作がサポートされます。
|
_DynUnionStub |
DynUnionオブジェクトによって、IDLの共用体の操作がサポートされます。
|
_DynValueStub |
DynValueオブジェクトによって、IDLの非boxed値型の操作がサポートされます。
|
AnySeqHelper |
org/omg/DynamicAny/AnySeqHelper.java。
|
DynAnyFactoryHelper |
DynAnyオブジェクトは、DynAnyFactoryオブジェクトでオペレーションを呼び出すことで作成できます。
|
DynAnyHelper |
Anyの値は、DynAnyオブジェクトを通して動的に解釈(トラバース)および構築できます。
|
DynAnySeqHelper |
org/omg/DynamicAny/DynAnySeqHelper.java。
|
DynArrayHelper |
DynArrayオブジェクトによって、IDLの配列の操作がサポートされます。
|
DynEnumHelper |
DynEnumオブジェクトによって、IDLの列挙値の操作がサポートされます。
|
DynFixedHelper |
DynFixedオブジェクトによって、IDLのfixed値の操作がサポートされます。
|
DynSequenceHelper |
DynSequenceオブジェクトによって、IDLのシーケンスの操作がサポートされます。
|
DynStructHelper |
DynStructオブジェクトによって、IDL構造体および例外値の操作がサポートされます。
|
DynUnionHelper |
DynUnionオブジェクトによって、IDLの共用体の操作がサポートされます。
|
DynValueHelper |
DynValueオブジェクトによって、IDLの非boxed値型の操作がサポートされます。
|
FieldNameHelper |
org/omg/DynamicAny/FieldNameHelper.java。
|
NameDynAnyPair |
org/omg/DynamicAny/NameDynAnyPair.java。
|
NameDynAnyPairHelper |
org/omg/DynamicAny/NameDynAnyPairHelper.java。
|
NameDynAnyPairSeqHelper |
org/omg/DynamicAny/NameDynAnyPairSeqHelper.java。
|
NameValuePair |
org/omg/DynamicAny/NameValuePair.java。
|
NameValuePairHelper |
org/omg/DynamicAny/NameValuePairHelper.java。
|
NameValuePairSeqHelper |
org/omg/DynamicAny/NameValuePairSeqHelper.java。
|
実行時にany
に関連付けられたデータ値のトラバース、およびデータ値の基本的な構成要素の抽出を可能にするクラスとインタフェースを提供します。
any
は、そのany
の型について静的な情報がない(IDLコンパイラがその型について生成したコードが、オブジェクト実装を含めてコンパイルされていない)プログラムに渡すことができます。このため、オブジェクトはany
を受け取っても、それを使用するための移植性のあるメソッドがないことになります。
DynAny
を使うと、any
のデータ値のトラバースを実行時に行い、データ値の基本的な構成要素を抽出できます。これは、強力なジェネリック・サーバー(ブリッジ、フィルタリングをサポートするイベント・チャネル)を作成する場合に役立ちます。また、型に関する静的な情報を持たずに、実行時にany
を構築することもできます。これは、ジェネリック・クライアント(ブリッジ、ブラウザ、デバッガ、ユーザー・インタフェース・ツール)を作成する場合に役立ちます。
Any
の値は、DynAnyオブジェクトを通して動的に解釈(トラバース)および構築できます。DynAnyオブジェクトはデータ値に関連付けられますが、このデータ値はAnyに挿入された値のコピーに対応します。DynAnyオブジェクトは、コンポーネントのDynAnyの順序付けられたコレクションとみなすことができます。DynAnyがlong
などの基本型を表す場合、または空の例外のようにコンポーネントのない型を表す場合は、コンポーネントの順序付けられたコレクションは空になります。
それぞれのDynAnyオブジェクトで、そのDynAnyのコンポーネントのコレクション内における現在位置が把握されます。現在位置は、0からn-1のインデックス値で示されます(nはコンポーネントの数)。-1という特別なインデックス値もあり、これは現在位置がどこも指し示していないことを意味します。現在位置を持つことのできない値(空の例外など)の場合、インデックス値は -1で固定されます。DynAny
がコンポーネントを持つ値で初期化された場合、インデックスも0に初期化されます。初期化されていないDynAny
(DynAny
に値がないが、コンポーネントを持つことのできるTypeCode
がある)が作成された場合は、現在位置はDynAny
によって表される値の型によって異なります。現在位置は、新規作成されたDynAny
のコンポーネントがデフォルト値を持てるかどうかによって0または -1になります。
rewind
、seek
およびnext
の繰返し操作を使用すると、現在位置が変更できます。current_component
操作は、現在位置のコンポーネントを返します。component_count
操作はDynAny
のコンポーネントの数を返します。これらの操作をあわせて使用すると、コンポーネントの内容を(再帰的に)調べるなど、DynAny
のコンポーネントに対して反復処理を行えます。
構築型と関連付けられたDynAny
オブジェクトを、構築型DynAny
オブジェクトと呼びます。IDLの各種構築型(fixed、enum、struct、sequence、union、array、exception、値型)のそれぞれについて、DynAny
インタフェースから継承されたインタフェースがあります。構築型DynAny
オブジェクトは、DynAny
オブジェクトを新規作成するための操作をエクスポートします。作成されるオブジェクトはそれぞれ構築型のデータ値のコンポーネントに関連付けられます。たとえば、DynStruct
はstruct
値と関連付けられます。つまり、DynStruct
は、構造体のメンバーごとにコンポーネントが1つずつあるような、順序付けられたコレクションを所有するとみなすことができます。DynStruct
オブジェクトは、struct
のメンバーに関連付けられるDynAny
オブジェクトを新規作成するための操作をエクスポートします。
別の(構築型) DynAny
からDynAny
オブジェクトを得た場合(たとえばDynStruct
から作成された、構造体メンバーを表すDynAny
)、そのメンバーであるDynAny
は、DynStruct
に論理的に含まれることになります。insert
またはget
操作を呼び出しても、現在位置は変更されません。最上位のDynAny
オブジェクト(別のDynAny
のコンポーネントではないもの)を破棄すると、そのコンポーネントのDynAny
オブジェクトも破棄されます。最上位ではないDynAny
を破棄した場合は何も起こりません。破棄された最上位のDynAny
、またはその下位オブジェクトに対して操作を呼び出すと、OBJECT_NOT_EXISTがスローされます。DynAny
を破棄したあとも、それに関連付けられるデータ値のコンポーネントを操作するには、まずコンポーネントのDynAny
を作成してから、作成したDynAny
オブジェクトのコピーを作成します。
DynAny
オブジェクトの動作は、割り当てられたメモリー空間とアクセス速度に関して効果的な実装を実現できるように定義されています。DynAny
オブジェクトは、実行時にany
から抽出された値のトラバースや、any
の値の構築を行うために使用することが想定されています。ほかの用途での使用はお勧めできません。
Insert
とget
の各操作は、基本DynAny
オブジェクトの操作に必要ですが、構築型DynAny
オブジェクトの操作にも役立ちます。構築型DynAny
オブジェクトに基本データ型の値を挿入すると、DynAny
オブジェクトに関連付けられた構築型データ値の現在のコンポーネントを初期化することになります。たとえば、DynStruct
でinsert_boolean
を呼び出すと、関連するstruct
のデータ値の現在位置にboolean
のデータ値が挿入されます。値のTypeCode
がDynAny
に含まれるTypeCode
と同じである場合、値の挿入と抽出を通して型は同じになります。DynAny
にコンポーネントがある場合は、値の挿入と抽出における型は現在位置のDynAny
のTypeCode
と同じになります。
基本的なオペレーションには次のものがあります。
DynAny
オブジェクトとDynAnyFactory
オブジェクトは、それらが作成および使用されるプロセスに対してローカルであると想定されています。つまり、DynAny
およびDynAnyFactory
オブジェクトへの参照をほかのプロセスにエクスポートしたり、ORB.object_to_string()
で外部化したりすることはできません。実行を試みるとMARSHALシステム例外が発生します。IDLにインタフェースが指定されているため、DynAny
オブジェクトでは標準のorg.omg.CORBA.Object
インタフェースに定義されている操作をエクスポートできます。ただし、Object
インタフェースを通してエクスポートした操作を呼び出そうとすると、標準NO_IMPLEMENT例外が発生することがあります。DynAny
オブジェクトをDIIと使用しようとすると、NO_IMPLEMENT例外が発生する場合があります。
Java(TM) Platform, Standard Edition 6 ORBが準拠する公式の仕様のサポート・セクションの正確なリストは、「Java(TM) SE 6での正式なCORBAサポート仕様」を参照してください。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.