JavaTM 2
Platform
Std. Ed. v1.4.0

パッケージ org.omg.CosNaming

Java IDL のネームサービスを提供します。

参照:
          説明

インタフェースの概要
BindingIterator BindingIterator インタフェースを使うと、クライアントは next_one または next_n を使ってバインディングを次々に返すことができます。
BindingIteratorOperations BindingIterator インタフェースを使うと、クライアントは next_one または next_n を使ってバインディングを次々に返すことができます。
NamingContext ネーミングコンテキストは、それぞれが一意の名前を持つ一連のネームバインディングを格納するオブジェクトです。
NamingContextExt NamingContextExt は、それぞれの名前が固有で Interoperable Naming Service の一部である名前バインディングのセットを格納する NamingContext の拡張です。
NamingContextExtOperations NamingContextExt は、それぞれの名前が固有で Interoperable Naming Service の一部である名前バインディングのセットを格納する NamingContext の拡張です。
NamingContextOperations ネーミングコンテキストは、それぞれが一意の名前を持つ一連のネームバインディングを格納するオブジェクトです。
 

クラスの概要
_BindingIteratorImplBase  
_BindingIteratorStub BindingIterator インタフェースを使うと、クライアントは next_one または next_n を使ってバインディングを次々に返すことができます。
_NamingContextExtStub NamingContextExt は、それぞれの名前が固有で Interoperable Naming Service の一部である名前バインディングのセットを格納する NamingContext の拡張です。
_NamingContextImplBase  
_NamingContextStub ネーミングコンテキストは、それぞれが一意の名前を持つ一連のネームバインディングを格納するオブジェクトです。
Binding 名前からオブジェクトへの関連付けをバインディングと呼びます。
BindingHelper 名前からオブジェクトへの関連付けをバインディングと呼びます。
BindingHolder 名前からオブジェクトへの関連付けをバインディングと呼びます。
BindingIteratorHelper BindingIterator インタフェースを使うと、クライアントは next_one または next_n を使ってバインディングを次々に返すことができます。
BindingIteratorHolder BindingIterator インタフェースを使うと、クライアントは next_one または next_n を使ってバインディングを次々に返すことができます。
BindingIteratorPOA BindingIterator インタフェースを使うと、クライアントは next_one または next_n を使ってバインディングを次々に返すことができます。
BindingListHelper バインディングのリストです。
BindingListHolder バインディングのリストです。
BindingType 指定されたバインディングが、オブジェクト用 (つまりネーミングコンテキストでない) かネーミングコンテキスト用かを指定します。
BindingTypeHelper 指定されたバインディングが、オブジェクト用 (つまりネーミングコンテキストでない) かネーミングコンテキスト用かを指定します。
BindingTypeHolder 指定されたバインディングが、オブジェクト用 (つまりネーミングコンテキストでない) かネーミングコンテキスト用かを指定します。
IstringHelper IDL-to-Java コンパイラ (ポータブル) バージョン 3.1 により ../../../..
NameComponent ネーミングコンテキストに定義されたオペレーションの多くは、名前をパラメータとして使用します。
NameComponentHelper ネーミングコンテキストに定義されたオペレーションの多くは、名前をパラメータとして使用します。
NameComponentHolder ネーミングコンテキストに定義されたオペレーションの多くは、名前をパラメータとして使用します。
NameHelper 名前は、名前コンポーネントのシーケンスです。
NameHolder 名前は、名前コンポーネントのシーケンスです。
NamingContextExtHelper NamingContextExt は、それぞれの名前が固有で Interoperable Naming Service の一部である名前バインディングのセットを格納する NamingContext の拡張です。
NamingContextExtHolder NamingContextExt は、それぞれの名前が固有で Interoperable Naming Service の一部である名前バインディングのセットを格納する NamingContext の拡張です。
NamingContextExtPOA NamingContextExt は、それぞれの名前が固有で Interoperable Naming Service の一部である名前バインディングのセットを格納する NamingContext の拡張です。
NamingContextHelper ネーミングコンテキストは、それぞれが一意の名前を持つ一連のネームバインディングを格納するオブジェクトです。
NamingContextHolder ネーミングコンテキストは、それぞれが一意の名前を持つ一連のネームバインディングを格納するオブジェクトです。
NamingContextPOA ネーミングコンテキストは、それぞれが一意の名前を持つ一連のネームバインディングを格納するオブジェクトです。
 

パッケージ org.omg.CosNaming の説明

Java IDL のネームサービスを提供します。Object Request Broker Daemon (ORBD) にも一時的および持続的なネームサービスがあります。

このパッケージ、およびこのパッケージに含まれているすべてのクラスおよびインタフェースは、OMG IDL で記述されたモジュールであるファイル nameservice.idl で、idlj ツールを実行することにより生成されています。

パッケージの仕様

Java 2 Platform, Standard Edition v.1.4 ORB が準拠する公式仕様のサポートセクションの正確なリストは、「J2SE 1.4 でサポートする正式な CORBA の仕様」 を参照してください。

インタフェース

パッケージ org.omg.CosNaming には、2 つの public インタフェースと、いくつかの補助クラスが含まれています。

インタフェースは次の 2 つです。

この 2 つのインタフェースは、名前とオブジェクト参照のバインドとアンバインド、バインドされたオブジェクト参照の取得、およびバインディングをリストから次々に返すための手段を提供します。NamingContext インタフェースは、ネームサービスの主要な機能を提供し、BindingIterator インタフェースは、名前とオブジェクト参照のバインディングをリストから次々に返すための手段を提供します。

補助クラス

OMG IDL インタフェースを Java プログラミング言語にマッピングするために、idlj コンパイラは、補助クラスと見なされる Java クラスを作成します。生成された補助クラスは、NamingContext インタフェースおよび BindingIterator インタフェースによって使用されます。補助クラスについてのコメントを次に示します。

NamingContext および BindingIterator によって使用されるクラス

ネームサービスによって使用されるクラスを次に示します。これらのクラスそれぞれに対して生成されるヘルパークラスおよびホルダークラスについてはあとで説明します。

ホルダークラス

OMG IDL は、オペレーションから値を返すために OUT パラメータおよび INOUT パラメータを使用します。OUT パラメータおよび INOUT パラメータを持たない Java プログラミング言語へマッピングすることにより、それぞれの型にホルダークラスと呼ばれる特殊なクラスが作成されます。ホルダークラスのインスタンスは、パラメータとして Java メソッドに渡すことができ、値を value フィールドに代入することができます。これにより、OUT パラメータまたは INOUT パラメータの機能を果たすことができます。

org.omg.CosNaming パッケージでは、次のホルダークラスが生成されます。

org.omg.CORBA パッケージでは、Java の基本型のそれぞれについて、ホルダークラス (IntHolderShortHolderStringHolder など) があります。

また、Name クラスがない場合でも NameHolder クラスがあります。同様に、BindingList クラスがない場合でも BindingListHolder があります。これは、OMG IDL インタフェースでは、Name および BindingListtypedef であるためです。IDL の typedef から Java の構造体へマッピングすることはできませんが、typedef がシーケンス用または配列用である場合はホルダークラスが生成されます。Java プログラミング言語にマッピングされた場合は、NameNameComponent オブジェクトの配列になり、BindingListBinding オブジェクトの配列になります。 すべてのホルダークラスは、2 つ以上のコンストラクタと 1 つのフィールドを持ちます。

ユーザ定義型 (Java クラス) のホルダークラスには、このほかに 3 つのメソッドがありますが、アプリケーション開発者が直接これらのメソッドを使うことはありません。

ヘルパークラス

OMG IDL インタフェースのすべてのユーザ定義型で生成されるヘルパークラスは、ユーザ定義型の操作に必要な static メソッドを提供します。

ヘルパークラスには、アプリケーションプログラマが使用するメソッドが 1 つだけあります。narrow メソッドです。IDL インタフェースからマッピングされた Java インタフェースだけが、narrow メソッドのあるヘルパークラスを持ちます。このため、CosNaming パッケージでは、NamingContextHelper クラスと BindingIteratorHelper クラスだけに narrow メソッドがあります。

org.omg.CosNaming.NamingContextPackage パッケージ

このパッケージは、org.omg.CosNaming パッケージで使用される例外と、NotFound 例外の理由を提供する NotFoundReason クラスの Helper クラスおよび Holder クラスを提供します。

次の例外の Helper クラスおよび Holder クラスがあります。

ネームサービス互換性

Sun の CosNaming パッケージの実装は、OMG COSNaming 仕様にしたがっています。言い換えると、Sun のネームサービスの API は、OMG が提供するネームサービスのガイドラインにしたがって実装されます。したがって、Sun 以外のベンダーが OMG 準拠のネームサービスを実装していれば、Sun の CosNaming の実装と Sun 以外のベンダーの実装との間で切り替えることが可能です。ただし、例外文字列の相違など、ネームサービスを実装するベンダーによって多少の違いがあることを理解しておく必要があります。

Sun 以外のネームサービスを使用する際のガイド

同じベンダーの ORB と ORB サービスを使うことをお奨めしますが、Sun 以外の COSNaming 実装に Sun の RMI-IIOP ORB を接続することも可能です。次のステップに従います。
  1. Bootstrap サーバにプロパティファイルを作成し、そのファイルに 2 つのエントリを作成します。たとえば、このプロパティファイルを /tmp/services と名付けてそのファイルに NameService <Root Naming Context の Stringified IOR > を入れます。

    これによって、NameService と、使いたい CosNaming 実装の Root Naming Context とが関連付けられます。

  2. 次のコマンドを使って、スタンドアロン Bootstrap サーバを起動します。
     java -classpath $(CLASSPATH) com.sun.corba.ee.internal.CosNaming.BootstrapServer -InitialServicesFile "/tmp/services" [-ORBInitialPort port] 

    コマンドの最後の角括弧は、ポート番号の指定が任意であることを示します。

アプリケーションが org.omg.CORBA.ORB.resolve_initial_references メソッドを呼び出すと、CORBA プロセスが Bootstrap Server に接続して Root Naming Context を取得します。

パッケージの仕様

関連項目

CosNaming API の概要および使用例については、以下を参照してください。

Java IDL の概要については、以下を参照してください。

導入されたバージョン:
JDK1.3

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.