インタフェース | 説明 |
---|---|
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 |
org/omg/CosNaming/Binding.java。
|
BindingHelper |
org/omg/CosNaming/BindingHelper.java。
|
BindingHolder |
org/omg/CosNaming/BindingHolder.java。
|
BindingIteratorHelper |
BindingIteratorインタフェースを使うと、クライアントはnext_oneまたはnext_nを使ってバインディングを次々に返すことができます。
|
BindingIteratorHolder |
BindingIteratorインタフェースを使うと、クライアントはnext_oneまたはnext_nを使ってバインディングを次々に返すことができます。
|
BindingIteratorPOA |
BindingIteratorインタフェースを使うと、クライアントはnext_oneまたはnext_nを使ってバインディングを次々に返すことができます。
|
BindingListHelper |
バインディングのリストです。
|
BindingListHolder |
バインディングのリストです。
|
BindingType |
指定されたバインディングが、オブジェクト用(つまりネーミング・コンテキストでない)かネーミング・コンテキスト用かを指定します。
|
BindingTypeHelper |
指定されたバインディングが、オブジェクト用(つまりネーミング・コンテキストでない)かネーミング・コンテキスト用かを指定します。
|
BindingTypeHolder |
指定されたバインディングが、オブジェクト用(つまりネーミング・コンテキストでない)かネーミング・コンテキスト用かを指定します。
|
IstringHelper |
org/omg/CosNaming/IstringHelper.java。
|
NameComponent |
org/omg/CosNaming/NameComponent.java。
|
NameComponentHelper |
org/omg/CosNaming/NameComponentHelper.java。
|
NameComponentHolder |
org/omg/CosNaming/NameComponentHolder.java。
|
NameHelper |
名前は、名前コンポーネントのシーケンスです。
|
NameHolder |
名前は、名前コンポーネントのシーケンスです。
|
NamingContextExtHelper |
NamingContextExt は、それぞれの名前が固有でInteroperable Naming Serviceの一部である名前バインディングのセットを格納するNamingContext の拡張です。 |
NamingContextExtHolder |
NamingContextExt は、それぞれの名前が固有でInteroperable Naming Serviceの一部である名前バインディングのセットを格納するNamingContext の拡張です。 |
NamingContextExtPOA |
NamingContextExt は、それぞれの名前が固有でInteroperable Naming Serviceの一部である名前バインディングのセットを格納するNamingContext の拡張です。 |
NamingContextHelper |
ネーミング・コンテキストは、それぞれが一意の名前を持つ一連のネーム・バインディングを格納するオブジェクトです。
|
NamingContextHolder |
ネーミング・コンテキストは、それぞれが一意の名前を持つ一連のネーム・バインディングを格納するオブジェクトです。
|
NamingContextPOA |
ネーミング・コンテキストは、それぞれが一意の名前を持つ一連のネーム・バインディングを格納するオブジェクトです。
|
このパッケージ、およびこのパッケージに含まれているすべてのクラスおよびインタフェースは、OMG IDLで記述されたモジュールであるファイルnameservice.idl
で、idlj
ツールを実行することにより生成されています。
Java(TM) Platform, Standard Edition 6 ORBが準拠する公式の仕様のサポート・セクションの正確なリストは、「Java(TM) SE 6での正式な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
オブジェクトは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
は、NamingContex
オブジェクトとのバインディングを表すために初期化された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が提供するネーム・サービスのガイドラインに従って実装されます。したがって、サード・パーティのベンダーがOMG準拠のネーム・サービスを実装していれば、SunのCosNaming
の実装とサード・パーティのベンダーの実装との間での切替えが可能です。ただし、例外文字列の相違など、ネーム・サービスを実装するベンダーによって多少の違いがあることを理解しておく必要があります。
COSNaming
実装にSunのRMI-IIOP ORBを接続することも可能です。次のステップに従います。
/tmp/services
と名付けて、そのファイルにNameService,<Stringified IOR of the Root Naming Context>
を入れます。
これによって、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の概要については、次を参照してください。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.