|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--org.omg.IOP.IORHolder
オブジェクトが null かどうか、オブジェクトの型は何か、サポートされているプロトコルは何か、使用できる ORB サービスは何かなど、オブジェクト参照に関する情報を取得します。
このデータ構造体は、指定された ORB の内部では使用する必要がないため、アプリケーションレベルの ORB プログラマが参照できるよう意図されていません。ブリッジ内で、オブジェクト参照のドメイン境界を越えるときにだけ使用してください。
このデータ構造体は、一般的な単一プロトコル構成での効率化を目的として設計されていますが、マルチプロトコル構成に適していないわけではありません。
オブジェクト参照には、タグ付きプロファイルが最低 1 つあります。各プロファイルは、1 つまたは複数のプロトコルをサポートし、サポートしているプロトコルがオブジェクトを識別するのに必要なすべての基本情報をカプセル化します。それぞれのプロファイルには、サポートしているどれかのプロトコルを使って完全な呼び出しを行うのに必要な情報が格納されています。それらのプロファイルエントリの内容と構造は、これらのプロトコルによって完全に指定されています。2 つのドメイン間にあるブリッジでは、それらのドメインを結ぶためのテクニックに応じて、各ドメインのプロファイルの内容を詳しく把握していることが必要な場合もあります。
各プロファイルには、OMG によって一意の数値タグが割り当てられています。0x80000000 〜 0xffffffff のプロファイルタグは、将来使用できるように予約されており、現時点では割り当てに使用できません。
null オブジェクト参照は、空のプロファイルセットと "Null" タイプ ID (1 つの区切り文字だけから成る文字列) によって指定されます。Null TypeID
は、CORBA.Object
型を表現するのに使用できる唯一の機構です。どのメッセージでもタイプ ID を "Null" だけにすることができます。この場合、クライアントは既存の情報を使用するか、オブジェクトを参照して、サポートされているインタフェース型を判断する必要があります。タイプ ID は、インタフェース型を識別するリポジトリ ID であり、ORB が厳密な型指定を保持できるように用意されています。この識別子は、ブリッジ内では合意されていますが、相互運用性の仕様の範囲を越えたいくつかの理由から、システムの発展や保守におけるさまざまな問題に対処できるようにその範囲をさらに広げる必要があります。また、型の等価関係の検出もサポートしているため、インタフェースリポジトリと組み合わせて使用すると、参照されるオブジェクトの型と他の型との関係をプロセスの中で推論することができます。
サーバによって提供されたタイプ ID は、オブジェクト参照が生成されたときにサーバが発行する最上位の派生型を示します。オブジェクトの実際の最上位派生型は、あとで上位派生型に変わる場合があります。このため、クライアントにとっては、IOR のタイプ ID はそのオブジェクトが少なくとも指定されたインタフェースだけはサポートしているという手がかりにすぎません。クライアントは、IOR のタイプ ID だけに基づいて、オブジェクト参照を指定のインタフェースまたはその基本インタフェースのどれかにうまくナロー変換することができますが、"_is_a" または "_get_interface" 疑似オペレーションを介してオブジェクトを参照すると、オブジェクト参照のナロー変換に失敗します。
フィールドの概要 | |
IOR |
value
|
コンストラクタの概要 | |
IORHolder()
|
|
IORHolder(IOR initialValue)
|
メソッドの概要 | |
void |
_read(InputStream i)
istream からデータを読み取り、非整列化されたデータを使って Holder の value フィールドを初期化します。 |
TypeCode |
_type()
Holder の value フィールドの値に対応する TypeCode オブジェクトを取り出します。 |
void |
_write(OutputStream o)
Holder の value フィールドの値を ostream に整列化します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public IOR value
コンストラクタの詳細 |
public IORHolder()
public IORHolder(IOR initialValue)
メソッドの詳細 |
public void _read(InputStream i)
Streamable
の記述: istream
からデータを読み取り、非整列化されたデータを使って Holder の value
フィールドを初期化します。
Streamable
内の _read
i
- ワイヤからの CDR データを表す InputStreampublic void _write(OutputStream o)
Streamable
の記述: value
フィールドの値を ostream
に整列化します。
Streamable
内の _write
o
- CDR OutputStreampublic TypeCode _type()
Streamable
の記述: value
フィールドの値に対応する TypeCode
オブジェクトを取り出します。
Streamable
内の _type
TypeCode
オブジェクト
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.