|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
参照:
説明
インタフェースの概要 | |
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 | ネーミングコンテキストは、それぞれが一意の名前を持つ一連のネームバインディングを格納するオブジェクトです。 |
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 の仕様」 を参照してください。
インタフェースは次の 2 つです。
この 2 つのインタフェースは、名前とオブジェクト参照のバインドとアンバインド、バインドされたオブジェクト参照の取得、およびバインディングをリストから次々に返すための手段を提供します。NamingContext
インタフェースは、ネームサービスの主要な機能を提供し、BindingIterator
インタフェースは、名前とオブジェクト参照のバインディングをリストから次々に返すための手段を提供します。
NamingContext
インタフェースおよび BindingIterator
インタフェースによって使用されます。補助クラスについてのコメントを次に示します。
NamingContext
および BindingIterator
によって使用されるクラスpublic final class NameComponent
-- 名前の基本単位です。名前は、ネーミングコンテキストでオブジェクト参照にバインドされます。
名前は、1 つまたは複数の NameComponent
オブジェクトからなる配列です。1 つの NameComponent
を持つ名前を「単純名」と呼び、複数の NameComponent
オブジェクトを持つ名前を「複合名」と呼びます。
NameComponent
オブジェクトは 2 つのフィールドから構成されています。
id
-- 識別子として使用される String
kind
-- 記述の目的で使用される String
。これは、構文に影響を与えることなくオブジェクトを記述できるという点で重要。たとえば、C プログラミング言語では、ソースコードファイルであることを示すために、ファイル名に「.c」拡張子を付加する構文規則が用いられる。NameComponent
オブジェクトでは、ファイル拡張子などの構文規則を使わずに、kind
フィールドを使ってオブジェクトの型を記述できる。kind
フィールドの値の例としては、"c_source"
、"object_code"
、"executable"
、"postscript"
、""
などの文字列がある。kind
フィールドが空の文字列であることもある
名前では、最後の NameComponent
以外の各 NameComponent
オブジェクトは NamingContext
オブジェクトを表します。最後の NameComponent
オブジェクトはバインドされているオブジェクト参照を表します。これは、最後の名前がファイル名で、その前のすべての名前がディレクトリ名を表すパス名の形式と似ています。
public final class Binding
-- 名前をオブジェクト参照またはネーミングコンテキストに関連したオブジェクト。Binding
オブジェクトには次の 2 つのフィールドがある
binding_name
- バウンド名を表す 1 つまたは複数の NameComponent
オブジェクトの配列
binding_type
- 名前とオブジェクト参照のバインディングか、名前とネーミングコンテキストのバインディングかを示す BindingType
オブジェクト
NamingContext
インタフェースには、名前とオブジェクト参照または名前とネーミングコンテキストのバインドやアンバインド、バインディングのリストの取得、バインディングの解決 (名前を指定すると、resolve
メソッドがその名前にバインドされているオブジェクトを返す) のためのメソッドがあります。
public final class BindingType
-- 指定された Binding
オブジェクトが、名前と (ネーミングコンテキストではなく) オブジェクト参照のバインドか、あるいは名前とネーミングコンテキストのバインドかを指定するオブジェクト
BindingType
クラスは、2 つのメソッドと 4 つの定数からなります。それらの定数のうちの 2 つは BindingType
オブジェクトで、残りの 2 つは int
です。
BindingType
オブジェクトは、Binding
クラスのコンストラクタに渡したり、パラメータまたは戻り値として使用したりすることができます。BindingType
オブジェクトには、次のものがあります。
public static final BindingType nobject
-- オブジェクト参照とのバインディングであることを示す
public static final BindingType ncontext
-- ネーミングコンテキストとのバインディングであることを示す
int
定数は、BindingType
オブジェクトを作成する from_int
メソッドに指定したり、value
メソッドの戻り値として使用したりすることができます。このような定数には次のものがあります。
public static final int _nobject
public static final int _ncontext
from_int
メソッドに _nobject
または _ncontext
以外何も指定されなかった場合は、org.omg.CORBA.BAD_PARAM
例外がスローされます。
使用例を次に示します。
BindingType btObject = from_int(_nobject); BindingType btContext = from_int(_ncontext);変数
btObject
は、オブジェクト参照とのバインディングを表すために初期化された BindingType
オブジェクトを参照します。変数 btContext
は、NamingContext
オブジェクトとのバインディングを表すために初期化された BindingType
オブジェクトを参照します。
value
メソッドは _nobject
または _ncontext
を返します。したがって次のコードでは、変数 bt
には _nobject
または _ncontext
が格納されます。
int bt = BindingType.value();
value
フィールドに代入することができます。これにより、OUT パラメータまたは INOUT パラメータの機能を果たすことができます。
org.omg.CosNaming
パッケージでは、次のホルダークラスが生成されます。
NamingContextHolder
BindingIteratorHolder
BindingHolder
BindingListHolder
BindingTypeHolder
NameComponentHolder
NameHolder
org.omg.CORBA
パッケージでは、Java の基本型のそれぞれについて、ホルダークラス (IntHolder
、ShortHolder
、StringHolder
など) があります。
また、Name
クラスがない場合でも NameHolder
クラスがあります。同様に、BindingList
クラスがない場合でも BindingListHolder
があります。これは、OMG IDL インタフェースでは、Name
および BindingList
が typedef
であるためです。IDL の typedef
から Java の構造体へマッピングすることはできませんが、typedef
がシーケンス用または配列用である場合はホルダークラスが生成されます。Java プログラミング言語にマッピングされた場合は、Name
は NameComponent
オブジェクトの配列になり、BindingList
は Binding
オブジェクトの配列になります。
すべてのホルダークラスは、2 つ以上のコンストラクタと 1 つのフィールドを持ちます。
value
フィールド -- OUT パラメータまたは INOUT パラメータとして使用される型のインスタンス。たとえば、NamingContextHolder
の value
フィールドは NamingContext
オブジェクトになる
BindingHolder
オブジェクトの value
フィールドは null
に設定される。これはその値がオブジェクトのデフォルト値だからである。このほかのデフォルト値としては、boolean
の false
、numeric 型および char 型の 0
、オブジェクト参照の null
などがある
value
フィールドが初期化されたホルダーオブジェクトを新しく生成するコンストラクタ
ユーザ定義型 (Java クラス) のホルダークラスには、このほかに 3 つのメソッドがありますが、アプリケーション開発者が直接これらのメソッドを使うことはありません。
ヘルパークラスには、アプリケーションプログラマが使用するメソッドが 1 つだけあります。narrow
メソッドです。IDL インタフェースからマッピングされた Java インタフェースだけが、narrow
メソッドのあるヘルパークラスを持ちます。このため、CosNaming
パッケージでは、NamingContextHelper
クラスと BindingIteratorHelper
クラスだけに narrow
メソッドがあります。
public static NamingContext narrow(org.omg.CORBA.Object obj)
-- 指定された CORBA オブジェクトを NamingContext
オブジェクトに変換する
public static BindingIterator narrow(org.omg.CORBA.Object obj)
-- 指定された CORBA オブジェクトを BindingIterator
オブジェクトに変換する
org.omg.CosNaming.NamingContextPackage
パッケージorg.omg.CosNaming
パッケージで使用される例外と、NotFound
例外の理由を提供する NotFoundReason
クラスの Helper クラスおよび Holder クラスを提供します。
次の例外の Helper クラスおよび Holder クラスがあります。
AlreadyBound
CannotProceed
InvalidName
NotEmpty
NotFound
CosNaming
パッケージの実装は、OMG COSNaming
仕様にしたがっています。言い換えると、Sun のネームサービスの API は、OMG が提供するネームサービスのガイドラインにしたがって実装されます。したがって、Sun 以外のベンダーが OMG 準拠のネームサービスを実装していれば、Sun の CosNaming
の実装と Sun 以外のベンダーの実装との間で切り替えることが可能です。ただし、例外文字列の相違など、ネームサービスを実装するベンダーによって多少の違いがあることを理解しておく必要があります。
COSNaming
実装に Sun の RMI-IIOP ORB を接続することも可能です。次のステップに従います。
/tmp/services
と名付けてそのファイルに NameService
<Root Naming Context の Stringified IOR > を入れます。
これによって、NameService
と、使いたい CosNaming
実装の Root Naming Context とが関連付けられます。
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 の概要については、以下を参照してください。
|
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.