JavaTM 2
Platform
Std. Ed. v1.4.0

org.omg.IOP
クラス IORHolder

java.lang.Object
  |
  +--org.omg.IOP.IORHolder
すべての実装インタフェース:
Streamable

public final class IORHolder
extends Object
implements Streamable

オブジェクトが 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
 

フィールドの詳細

value

public IOR value
コンストラクタの詳細

IORHolder

public IORHolder()

IORHolder

public IORHolder(IOR initialValue)
メソッドの詳細

_read

public void _read(InputStream i)
インタフェース Streamable の記述:
istream からデータを読み取り、非整列化されたデータを使って Holder の value フィールドを初期化します。

定義:
インタフェース Streamable 内の _read
パラメータ:
i - ワイヤからの CDR データを表す InputStream

_write

public void _write(OutputStream o)
インタフェース Streamable の記述:
Holder の value フィールドの値を ostream に整列化します。

定義:
インタフェース Streamable 内の _write
パラメータ:
o - CDR OutputStream

_type

public TypeCode _type()
インタフェース Streamable の記述:
Holder の value フィールドの値に対応する TypeCode オブジェクトを取り出します。

定義:
インタフェース Streamable 内の _type
戻り値:
ホルダーに格納されている値の TypeCode オブジェクト

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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.