JavaTM 2 Platform
Std. Ed. v1.3

javax.naming
インタフェース Context

既知のサブインタフェースの一覧:
DirContext, EventContext, EventDirContext, LdapContext
既知の実装クラスの一覧:
InitialContext

public interface Context

このインタフェースは、名前からオブジェクトへのバインディングのセットを構成するネーミングコンテキストを表します。このインタフェースには、これらのバインディングを検査および更新するメソッドが含まれています。

名前

Context メソッドに引数として渡される名前はそれぞれ、そのコンテキストを基準にしています。コンテキスト自体に名前を付ける場合は、空の名前が使用されます。名前パラメータは null にできません。

ほとんどのメソッドには、Name パラメータおよび String を使用するオーバーロードされたバージョンがあります。これらのオーバーロードされたバージョンは、Name パラメータおよび String パラメータが同じ名前で異なる表記の場合に、同じメソッドのオーバーロードされたバージョンが同じように動作するという点で同等です。以下のメソッドの説明では、1 つのバージョンだけが完全にドキュメント化されています。2 番目のバージョンには、最初のバージョンへのリンクがあり、同じドキュメントが両方に適用されます。

連合をサポートするシステムでは、Context メソッドに対する String 名前引数は、合成名です。CompositeName のインスタンスである名前引数は合成名とみなされ、CompositeName のインスタンスではない Name 引数は、CompoundName のインスタンス、または複合名の他の実装である複合名とみなされます。これにより、NameParser.parse() の結果を Context メソッドに対する引数として使用できます。JNDI 1.2 以前は、すべての名前引数が合成名とみなされていました。

さらに、連合をサポートするシステムでは、list() および listBindings() から NamingEnumeration に返される名前はすべて、文字列として表される合成名です。名前の文字列構文については、CompositeName を参照してください。

連合をサポートしていないシステムでは、(Name または String 形式の) 名前引数および NamingEnumeration で返される名前は、サービスプロバイダの判断により、合成名前空間の名前ではなく、独自の名前空間の名前になることがあります。

例外

このインタフェースのすべてのメソッドによって、NamingException またはそのサブクラスのいずれかがスローされます。各例外の詳細については、NamingException およびサブクラスを参照してください。

並行アクセス

Context インスタンスは、複数のスレッドによる並行アクセスに対して同期することは保証されていません。単一の Context インスタンスに同時にアクセスする必要のあるスレッドは、それらのスレッド間で同期化し、必要なロックをする必要があります。異なる Context インスタンスを操作する複数スレッドは、同期化される必要はありません。lookup メソッドでは、空の名前を引き渡すときに、同じネーミングコンテキストを表す新しい Context インスタンスが返されます。

並行性を制御するために、NamingEnumeration を返すコンテキストオペレーションは、列挙が使用中のとき、またはそのオペレーションで生成される参照が実行中のときには、完了していないものとみなされます。

パラメータ

Context インタフェースのメソッドまたはそのサブインタフェースの 1 つに引き渡される Name パラメータは、サービスプロバイダでは変更されません。サービスプロバイダでは、メソッドの結果の列挙、および生成された参照の処理を含むオペレーションの間に、Name パラメータへの参照が保持されます。呼び出し側は、この間にオブジェクトを変更することはできません。このようなメソッドによって返される Name は、呼び出し側が所有します。あとで呼び出し側が Name を変更することもありますが、サービスプロバイダは変更しません。

環境プロパティ

JNDI アプリケーションでは、ネーミングサービスとディレクトリサービスからアクセスされる環境を定義する、さまざまな設定やプロパティと通信する方法が必要とされます。たとえば、あるコンテキストでは、サービスにアクセスするためにセキュリティ資格の指定が必要になります。別のコンテキストでは、サーバ構成情報を指定する必要があります。これらは、コンテキストの環境として参照されます。Context インタフェースでは、この環境を取得および更新するためのメソッドが提供されています。

環境は、コンテキストメソッドがあるコンテキストから次のコンテキストに進むにつれて、親コンテキストから継承されます。1 つのコンテキストの環境を変更しても、他のコンテキストの環境には直接影響しません。

環境プロパティの使用、または有効性の検査、あるいはその両方がいつ行われるかは、実装に依存します。たとえば、ディレクトリに「ログイン」するために、サービスプロバイダでセキュリティ関連のプロパティが使用されるとします。このログインプロセスは、コンテキストが作成されたとき、またはコンテキストでメソッドが最初に呼び出されたときに発生します。これがいつ発生するか、および発生するかどうかは、実装に依存します。コンテキストからの環境プロパティの追加または削除や、変更の有効性の検査がいつ行われるかも、実装に依存します。たとえば、あるプロパティの検査は、変更が行われたとき、またはコンテキストで次のオペレーションが実行されたときに行われるか、あるいはまったく行われません。

コンテキストへの参照を含むオブジェクトでは、そのコンテキストの環境が検査されます。パスワードの表示などの重要な情報は、実装で保護されているかわからない場合には、保存しないでください。

リソースファイル

JNDI アプリケーションで必要な環境を設定するタスクを簡単にするために、アプリケーションコンポーネントとサービスプロバイダがリソースファイルとともに分配されることがあります。JNDI リソースファイルは、キーまたは値のペアのリストを含む、プロパティファイル形式のファイルです (java.util.Properties を参照)。キーはプロパティの名前 (java.naming.factory.object など) で、値はそのプロパティに定義された形式の文字列です。以下に、JNDI リソースファイルの例を示します。

 java.naming.factory.object=com.sun.jndi.ldap.AttrsToCorba:com.wiz.from.Person
 java.naming.factory.state=com.sun.jndi.ldap.CorbaToAttrs:com.wiz.from.Person
 java.naming.factory.control=com.sun.jndi.ldap.ResponseControlFactory
 
JNDI クラスライブラリでは、リソースファイルを読み込み、プロパティ値を自由に使用できるようにします。JNDI リソースファイルはどの言語でも読み込める必要があります。パスワードの表示などの重要な情報は、ここに保存しないでください。

JNDI リソースファイルには、プロバイダおよびアプリケーションの 2 種類があります。

プロバイダリソースファイル
各サービスプロバイダには、そのプロバイダに固有のプロパティをリストに表示するオプションのリソースがあります。
[prefix/]jndiprovider.properties
prefix は、プロバイダのコンテキスト実装のパッケージ名で、ピリオド (".") はスラッシュ ("/") に変換されます。 たとえば、サービスプロバイダが、com.sun.jndi.ldap.LdapCtx というクラス名のコンテキスト実装を定義するとします。このプロバイダのプロバイダリソースは、com/sun/jndi/ldap/jndiprovider.properties という名前になります。クラスがパッケージにない場合、リソースの名前は jndiprovider.properties になります。

JNDI クラスライブラリの特定のメソッドでは、JNDI ファクトリのリストを指定する標準 JNDI プロパティが使用されます。

JNDI ライブラリでは、これらのプロパティの値を決定するときに、プロバイダリソースファイルが参照されます。これ以外のプロパティは、サービスプロバイダの判断により、プロバイダリソースファイルで設定されます。サービスプロバイダのドキュメントでは、使用可能なプロパティが明示される必要があります。ファイルのその他のプロパティは無視されます。
アプリケーションリソースファイル
アプリケーションが配置される場合、通常は classpath に複数のコードベースディレクトリおよび JAR があります。同様に、アプレットが配置される場合、アプレットのクラスが検索される場所を指定するコードベースおよびアーカイブがあります。JNDI では、ClassLoader.getResources() を使用して、classpath の jndi.properties という名前のアプリケーションリソースファイルがすべて検索されます。さらに、ファイル java.home/lib/jndi.properties が存在し、読み込み可能な場合は、追加のアプリケーションリソースファイルとみなされます。java.home は、java.home システムプロパティによって名前が付けられたディレクトリを示します。これらのファイルに含まれるプロパティはすべて、初期コンテキストの環境に配置されます。この環境は、他のコンテキストに継承されます。

1 つ以上のアプリケーションリソースファイルにあるプロパティの場合、JNDI では最初の値が使用されるか、または意味がある場合に限り、すべての値が連結されます。詳細は以下に示します。たとえば、3 つの jndi.properties リソースファイルに "java.naming.factory.object" プロパティがある場合、オブジェクトファクトリのリストは、3 つのファイルすべてからのプロパティ値の連結になります。この方式を使用すると、配置可能なコンポーネントのそれぞれで、エクスポートするファクトリがリスト表示されます。JNDI では、ファクトリクラスを検索するときに、これらのエクスポートリストがすべて収集および使用されます。

アプリケーションリソースファイルは、java.home/lib にあるファイルが以前の Java プラットフォームでも使用されるという点を除いて、Java 2 プラットフォームから始めることが可能になります。

プロパティの検索アルゴリズム
JNDI で初期コンテキストを構築すると、コンストラクタ、システムプロパティ、アプレットパラメータ、およびアプリケーションリソースファイルに引き渡される環境パラメータで定義されたプロパティによって、コンテキストの環境が初期化されます。詳細は、InitialContext を参照してください。この初期環境は、他のコンテキストインスタンスで継承されます。

JNDI クラスライブラリでプロパティの値を決定する必要がある場合は、以下の 2 つのソースから値を順にマージして実行します。

  1. 生成されるコンテキストの環境
  2. 生成されるコンテキストのプロバイダリソースファイル (jndiprovider.properties)
この 2 つのソースのプロパティについて、JNDI ではプロパティの値が次のように決定されます。プロパティが、JNDI ファクトリのリストを指定する標準 JNDI プロパティの 1 つの場合 (上記にリスト表示されている)、値は 1 つのコロンで区切られたリストに連結されます。他のプロパティの場合は、検索された最初の値だけが使用されます。

サービスプロバイダでプロパティの値を決定する必要がある場合、通常は環境から値が直接取得されます。サービスプロバイダは、独自のプロバイダリソースファイルに配置される、プロバイダ固有のプロパティを定義できます。その場合は、前の段落で説明した値をマージする必要があります。

このように、各サービスプロバイダの開発者は、そのサービスプロバイダで使用するファクトリのリストを指定できます。これらは、アプリケーションまたはアプレットの配置者が指定するアプリケーションリソースで変更可能であり、ユーザによって順に変更されます。

導入されたバージョン:
1.3

フィールドの概要
static String APPLET
          他のプロパティを検索するときに使用する初期コンテキストコンストラクタのアプレットを指定するために、環境プロパティの名前を保持する定数です。
static String AUTHORITATIVE
          要求されたサービスの権限を指定するために、環境プロパティの名前を保持する定数です。
static String BATCHSIZE
          サービスのプロトコルによってデータを返すときに使用するバッチサイズを指定するために、環境プロパティの名前を保持する定数です。
static String DNS_URL
          JNDI URL コンテキスト ("dns://somehost/wiz.com" など) に使用する DNS ホスト名およびドメイン名を指定するために、環境プロパティの名前を保持する定数です。
static String INITIAL_CONTEXT_FACTORY
          使用する初期コンテキストファクトリを指定するために、環境プロパティの名前を保持する定数です。
static String LANGUAGE
          サービスに使用する優先言語を指定するために、環境プロパティの名前を保持する定数です。
static String OBJECT_FACTORIES
          使用するオブジェクトファクトリのリストを指定するために、環境プロパティの名前を保持する定数です。
static String PROVIDER_URL
          使用するサービスプロバイダの構成情報を指定するために、環境プロパティの名前を保持する定数です。
static String REFERRAL
          サービスプロバイダによって参照が処理される方法を指定するために、環境プロパティの名前を保持する定数です。
static String SECURITY_AUTHENTICATION
          使用するセキュリティレベルを指定するために、環境プロパティの名前を保持する定数です。
static String SECURITY_CREDENTIALS
          サービスに対する呼び出し側を認証する主体の資格を指定するために、環境プロパティの名前を保持する定数です。
static String SECURITY_PRINCIPAL
          サービスに対する呼び出し側を認証する主体の識別情報を指定するために、環境プロパティの名前を保持する定数です。
static String SECURITY_PROTOCOL
          使用するセキュリティプロトコルを指定するために、環境プロパティの名前を保持する定数です。
static String STATE_FACTORIES
          使用する状態ファクトリのリストを指定するために、環境プロパティの名前を保持する定数です。
static String URL_PKG_PREFIXES
          URL コンテキストファクトリをロードするときに使用するパッケージ接頭辞のリストを指定するために、環境プロパティの名前を保持する定数です。
 
メソッドの概要
 Object addToEnvironment(String propName, Object propVal)
          このコンテキストの環境に、新しい環境プロパティを追加します。
 void bind(Name name, Object obj)
          名前をオブジェクトにバインドします。
 void bind(String name, Object obj)
          名前をオブジェクトにバインドします。
 void close()
          このコンテキストを閉じます。
 Name composeName(Name name, Name prefix)
          このコンテキストに関連した名前を持つ、このコンテキストの名前を変換します。
 String composeName(String name, String prefix)
          このコンテキストに関連した名前を持つ、このコンテキストの名前を変換します。
 Context createSubcontext(Name name)
          新しいコンテキストを作成してバインドします。
 Context createSubcontext(String name)
          新しいコンテキストを作成してバインドします。
 void destroySubcontext(Name name)
          名前付きコンテキストが破棄され、名前空間から削除されます。
 void destroySubcontext(String name)
          名前付きコンテキストを破棄し、名前空間から削除します。
 Hashtable getEnvironment()
          このコンテキストで有効な環境を取得します。
 String getNameInNamespace()
          独自の名前空間でこのコンテキストの完全な名前を取得します。
 NameParser getNameParser(Name name)
          名前付きコンテキストに関連したパーサを取得します。
 NameParser getNameParser(String name)
          名前付きコンテキストに関連したパーサを取得します。
 NamingEnumeration list(Name name)
          バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。
 NamingEnumeration list(String name)
          バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。
 NamingEnumeration listBindings(Name name)
          バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。
 NamingEnumeration listBindings(String name)
          バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。
 Object lookup(Name name)
          名前付きオブジェクトを取得します。
 Object lookup(String name)
          名前付きオブジェクトを取得します。
 Object lookupLink(Name name)
          名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。
 Object lookupLink(String name)
          名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。
 void rebind(Name name, Object obj)
          名前をオブジェクトにバインドし、既存のバインディングを上書きします。
 void rebind(String name, Object obj)
          名前をオブジェクトにバインドして、既存のバインディングを上書きします。
 Object removeFromEnvironment(String propName)
          このコンテキストの環境から環境プロパティを削除します。
 void rename(Name oldName, Name newName)
          新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。
 void rename(String oldName, String newName)
          新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。
 void unbind(Name name)
          名前付きオブジェクトをアンバインドします。
 void unbind(String name)
          名前付きオブジェクトをアンバインドします。
 

フィールドの詳細

INITIAL_CONTEXT_FACTORY

public static final String INITIAL_CONTEXT_FACTORY
使用する初期コンテキストファクトリを指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、初期コンテキストを作成するファクトリクラスの完全指定クラス名である必要があります。このプロパティは、初期コンテキストコンストラクタ、アプレットパラメータ、システムプロパティ、またはアプリケーションリソースファイルに引き渡される環境パラメータで指定されます。プロパティがこれらのソースで指定されていない場合に、初期コンテキストでオペレーションの完了が必要になると、NoInitialContextException がスローされます。

この定数の値は "java.naming.factory.initial" です。

関連項目:
InitialContext, InitialDirContext, NamingManager.getInitialContext(java.util.Hashtable), InitialContextFactory, NoInitialContextException, addToEnvironment(String, Object), removeFromEnvironment(String), APPLET

OBJECT_FACTORIES

public static final String OBJECT_FACTORIES
使用するオブジェクトファクトリのリストを指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、オブジェクトに関するオブジェクト指定情報を作成する、ファクトリクラスの完全指定クラス名のコロンで区切られたリストである必要があります。このプロパティは、環境、アプレットパラメータ、システムプロパティ、または 1 つ以上のリソースファイルで指定されます。

この定数の値は "java.naming.factory.object" です。

関連項目:
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable), ObjectFactory, addToEnvironment(String, Object), removeFromEnvironment(String), APPLET

STATE_FACTORIES

public static final String STATE_FACTORIES
使用する状態ファクトリのリストを指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、オブジェクト自体に指定されたオブジェクトの状態を取得するために使用される、状態ファクトリクラスの完全指定クラス名のコロンで区切られたリストである必要があります。このプロパティは、環境、アプレットパラメータ、システムプロパティ、または 1 つ以上のリソースファイルで指定されます。

この定数の値は "java.naming.factory.state" です。

関連項目:
NamingManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable), StateFactory, addToEnvironment(String, Object), removeFromEnvironment(String), APPLET
導入されたバージョン:
1.3

URL_PKG_PREFIXES

public static final String URL_PKG_PREFIXES
URL コンテキストファクトリをロードするときに使用するパッケージ接頭辞のリストを指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、URL コンテキストファクトリを作成するファクトリクラスのクラス名に対する、パッケージ接頭辞のコロンで区切られたリストである必要があります。このプロパティは、環境、アプレットパラメータ、システムプロパティ、または 1 つ以上のリソースファイルで指定されます。接頭辞 com.sun.jndi.url は、パッケージ接頭辞の空のリストに常に追加されます。

この定数の値は "java.naming.factory.url.pkgs" です。

関連項目:
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable), NamingManager.getURLContext(java.lang.String, java.util.Hashtable), ObjectFactory, addToEnvironment(String, Object), removeFromEnvironment(String), APPLET

PROVIDER_URL

public static final String PROVIDER_URL
使用するサービスプロバイダの構成情報を指定するために、環境プロパティの名前を保持する定数です。プロパティの値には、URL 文字列 ("ldap://somehost:389" など) が含まれる必要があります。このプロパティは、環境、アプレットパラメータ、システムプロパティ、またはリソースファイルで指定されます。これらのソースが指定されていない場合、デフォルトの構成はサービスプロバイダによって決定されます。

この定数の値は "java.naming.provider.url" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), APPLET

DNS_URL

public static final String DNS_URL
JNDI URL コンテキスト ("dns://somehost/wiz.com" など) に使用する DNS ホスト名およびドメイン名を指定するために、環境プロパティの名前を保持する定数です。このプロパティは、環境、アプレットパラメータ、システムプロパティ、またはリソースファイルで指定されます。これらのソースが指定されていない場合に、プログラムで DNS 名を含む JNDI URL を使用しようとすると、ConfigurationException がスローされます。

この定数の値は "java.naming.dns.url" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

AUTHORITATIVE

public static final String AUTHORITATIVE
要求されたサービスの権限を指定するために、環境プロパティの名前を保持する定数です。プロパティの値が文字列 true の場合、最も正当な権限を持つソースにアクセスできる (キャッシュまたは複製をバイパスする) ことを示します。値がそれ以外の場合、ソースには権限は必要ありませんが、持っている場合もあります。指定しない場合、値のデフォルトは false です。

この定数の値は "java.naming.authoritative" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

BATCHSIZE

public static final String BATCHSIZE
サービスのプロトコルによってデータを返すときに使用するバッチサイズを指定するために、環境プロパティの名前を保持する定数です。これは、指定したサイズのバッチでオペレーションの結果を返すプロバイダへのヒントになるため、プロバイダはパフォーマンスおよびリソースの使用法を最適化できます。プロパティの値は、整数の文字列表現です。指定しない場合、バッチサイズはサービスプロバイダによって決定されます。

この定数の値は "java.naming.batchsize" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

REFERRAL

public static final String REFERRAL
サービスプロバイダによって参照が処理される方法を指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、以下の文字列の 1 つです。
"follow"
参照に自動的に従う
"ignore"
参照を無視する
"throw"
参照が見つかった場合、ReferralException をスローする
このプロパティが指定されていない場合、デフォルトはプロバイダによって決定されます。

この定数の値は "java.naming.referral" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

SECURITY_PROTOCOL

public static final String SECURITY_PROTOCOL
使用するセキュリティプロトコルを指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、サービスプロバイダによって決定される文字列 ("ssl" など) です。このプロパティが指定されていない場合、動作はサービスプロバイダによって決定されます。

この定数の値は "java.naming.security.protocol" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

SECURITY_AUTHENTICATION

public static final String SECURITY_AUTHENTICATION
使用するセキュリティレベルを指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、文字列 "none"、"simple"、"strong" のうちの 1 つです。このプロパティが指定されていない場合、動作はサービスプロバイダによって決定されます。

この定数の値は "java.naming.security.authentication" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

SECURITY_PRINCIPAL

public static final String SECURITY_PRINCIPAL
サービスに対する呼び出し側を認証する主体の識別情報を指定するために、環境プロパティの名前を保持する定数です。主体の形式は、認証方式によります。このプロパティが指定されていない場合、動作はサービスプロバイダによって決定されます。

この定数の値は "java.naming.security.principal" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

SECURITY_CREDENTIALS

public static final String SECURITY_CREDENTIALS
サービスに対する呼び出し側を認証する主体の資格を指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、認証方式によります。たとえば、ハッシュされたパスワード、パスワード表示、キー、証明書などです。このプロパティが指定されていない場合、動作はサービスプロバイダによって決定されます。

この定数の値は "java.naming.security.credentials" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

LANGUAGE

public static final String LANGUAGE
サービスに使用する優先言語を指定するために、環境プロパティの名前を保持する定数です。プロパティの値は、RFC 1766 で定義されている言語タグのコロンで区切られたリストです。このプロパティが指定されていない場合、言語の設定はサービスプロバイダによって決定されます。

この定数の値は "java.naming.language" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

APPLET

public static final String APPLET
他のプロパティを検索するときに使用する初期コンテキストコンストラクタのアプレットを指定するために、環境プロパティの名前を保持する定数です。このプロパティの値は、実行される java.applet.Applet インスタンスです。このプロパティは、初期コンテキストコンストラクタに渡される環境パラメータで指定されます。このプロパティが設定されると、初期コンテキストコンストラクタでシステムプロパティが検索される各プロパティでは、アプレットのパラメータリストが最初に検索されます。このプロパティが指定されていない場合、初期コンテキストコンストラクタでは、渡される環境パラメータだけにあるプロパティ、システムプロパティ、およびアプリケーションリソースファイルが検索されます。

この定数の値は "java.naming.applet" です。

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), InitialContext
導入されたバージョン:
1.3
メソッドの詳細

lookup

public Object lookup(Name name)
              throws NamingException
名前付きオブジェクトを取得します。name が空の場合は、このコンテキストの新しいインスタンスを返します。このコンテキストと同じネーミングコンテキストを表しますが、環境は個別に変更することができ、同時にアクセスすることもできます。
パラメータ:
name - 検索するオブジェクトの名前
戻り値:
name にバインドされるオブジェクト
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
lookup(String), lookupLink(Name)

lookup

public Object lookup(String name)
              throws NamingException
名前付きオブジェクトを取得します。詳細は、lookup(Name) を参照してください。
パラメータ:
name - 検索するオブジェクトの名前
戻り値:
name にバインドされるオブジェクト
例外:
NamingException - ネーミング例外が見つかった場合

bind

public void bind(Name name,
                 Object obj)
          throws NamingException
名前をオブジェクトにバインドします。名前の終端の基本部分以外のすべてのコンポーネントによって名付けられた、すべての中間コンテキストおよびターゲットコンテキストがすでに存在している必要があります。
パラメータ:
name - バインドされる名前。空は不可
obj - バインドされるオブジェクト。null の可能性がある
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - オブジェクトにすべての必須属性が指定されていない場合
NamingException - ネーミング例外が見つかった場合
関連項目:
bind(String, Object), rebind(Name, Object), DirContext.bind(Name, Object, javax.naming.directory.Attributes)

bind

public void bind(String name,
                 Object obj)
          throws NamingException
名前をオブジェクトにバインドします。詳細は、bind(Name, Object) を参照してください。
パラメータ:
name - バインドされる名前。空は不可
obj - バインドされるオブジェクト。null の可能性がある
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - オブジェクトにすべての必須の属性が指定されていない場合
NamingException - ネーミング例外が見つかった場合

rebind

public void rebind(Name name,
                   Object obj)
            throws NamingException
名前をオブジェクトにバインドし、既存のバインディングを上書きします。名前の終端の基本コンポーネント以外のすべてによって名付けられた、すべての中間コンテキストおよびターゲットコンテキストがすでに存在している必要があります。

オブジェクトが DirContext の場合、名前に関連付けられた既存の属性が、オブジェクトの属性と置換されます。置換されない場合、名前に関連付けられた既存の属性は、変更されないままです。

パラメータ:
name - バインドされる名前。空は不可
obj - バインドされるオブジェクト。null の可能性がある
例外:
InvalidAttributesException - オブジェクトにすべての必須の属性が指定されていない場合
NamingException - ネーミング例外が見つかった場合
関連項目:
rebind(String, Object), bind(Name, Object), DirContext.rebind(Name, Object, javax.naming.directory.Attributes), DirContext

rebind

public void rebind(String name,
                   Object obj)
            throws NamingException
名前をオブジェクトにバインドして、既存のバインディングを上書きします。詳細は、rebind(Name, Object) を参照してください。
パラメータ:
name - バインドされる名前。空は不可
obj - バインドされるオブジェクト。null の可能性がある
例外:
InvalidAttributesException - オブジェクトにすべての必須属性が指定されていない場合
NamingException - ネーミング例外が見つかった場合

unbind

public void unbind(Name name)
            throws NamingException
名前付きオブジェクトをアンバインドします。name の終端の基本部分以外のすべてによって名付けられたターゲットコンテキストから、name の終端の基本名を削除します。

このメソッドはべき等です。終端の基本名がターゲットコンテキストでバインドされていない場合でも、成功します。ただし、中間コンテキストが存在しない場合は、NameNotFoundException がスローされます。

名前に関連付けられた属性が削除されます。中間コンテキストは変更されません。

パラメータ:
name - アンバインドされする名前。空は不可
例外:
NameNotFoundException - 中間コンテキストが存在しない場合
NamingException - ネーミング例外が見つかった場合
関連項目:
unbind(String)

unbind

public void unbind(String name)
            throws NamingException
名前付きオブジェクトをアンバインドします。詳細は、unbind(Name) を参照してください。
パラメータ:
name - アンバインドされする名前。空は不可
例外:
NameNotFoundException - 中間コンテキストが存在しない場合
NamingException - ネーミング例外が見つかった場合

rename

public void rename(Name oldName,
                   Name newName)
            throws NamingException
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。2 つの名前は、このコンテキストを基準にします。以前の名前に関連付けられた属性は、新しい名前に関連付けられます。以前の名前の中間コンテキストは、変更されません。
パラメータ:
oldName - 既存のバインディングの名前。空は不可
newName - 新しいバインディングの名前。空は不可
例外:
NameAlreadyBoundException - newName がすでにバインドされている場合
NamingException - ネーミング例外が見つかった場合
関連項目:
rename(String, String), bind(Name, Object), rebind(Name, Object)

rename

public void rename(String oldName,
                   String newName)
            throws NamingException
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。詳細は、rename(Name, Name) を参照してください。
パラメータ:
oldName - 既存のバインディングの名前。空は不可
newName - 新しいバインディングの名前。空は不可
例外:
NameAlreadyBoundException - newName がすでにバインドされている場合
NamingException - ネーミング例外が見つかった場合

list

public NamingEnumeration list(Name name)
                       throws NamingException
バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。サブコンテキストの内容は含まれません。

このコンテキストにバインディングが追加されるか、またはこのコンテキストからバインディングが削除される場合、以前に返された列挙への影響は定義されていません。

パラメータ:
name - リスト表示するコンテキストの名前
戻り値:
このコンテキストのバインディングの名前とクラス名の列挙。列挙の要素の型は NameClassPair
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
list(String), listBindings(Name), NameClassPair

list

public NamingEnumeration list(String name)
                       throws NamingException
バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。詳細は、list(Name) を参照してください。
パラメータ:
name - リスト表示するコンテキストの名前
戻り値:
このコンテキストのバインディングの名前とクラス名の列挙。列挙の要素の型は NameClassPair
例外:
NamingException - ネーミング例外が見つかった場合

listBindings

public NamingEnumeration listBindings(Name name)
                               throws NamingException
バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。サブコンテキストの内容は含まれません。

このコンテキストにバインディングが追加されるか、またはこのコンテキストからバインディングが削除される場合、以前に返された列挙への影響は定義されていません。

パラメータ:
name - リスト表示するコンテキストの名前
戻り値:
このコンテキストのバインディングの列挙。列挙の各要素は Binding
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
listBindings(String), list(Name), Binding

listBindings

public NamingEnumeration listBindings(String name)
                               throws NamingException
バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。詳細は、listBindings(Name) を参照してください。
パラメータ:
name - リスト表示するコンテキストの名前
戻り値:
このコンテキストのバインディングの列挙。列挙の各要素は Binding
例外:
NamingException - ネーミング例外が見つかった場合

destroySubcontext

public void destroySubcontext(Name name)
                       throws NamingException
名前付きコンテキストが破棄され、名前空間から削除されます。名前に関連付けられた属性も削除されます。中間コンテキストは破棄されません。

このメソッドはべき等です。終端の基本名がターゲットコンテキストでバインドされていない場合でも、成功します。ただし、中間コンテキストが存在しない場合は、NameNotFoundException がスローされます。

連合ネーミングシステムでは、1 つのネーミングシステムからのコンテキストが別のネーミングシステムの名前にバインドされます。そのあと、合成名を使用して外部コンテキストのオペレーションを検索および実行できます。ただし、外部コンテキストはバインドされたコンテキストのサブコンテキストではないため、この合成名を使用してコンテキストを破棄しようとすると、NotContextException で失敗します。または、unbind() を使用して、外部コンテキストのバインディングを削除します。外部コンテキストを破棄するには、外部コンテキストの「ネイティブな」ネーミングシステムからコンテキストで destroySubcontext() を実行する必要があります。

パラメータ:
name - 破棄されるコンテキストの名前。空は不可
例外:
NameNotFoundException - 中間コンテキストが存在しない場合
NotContextException - 名前がバインドされているがコンテキストの名前がない、または該当する型のコンテキストの名前がない場合
ContextNotEmptyException - 名前付きコンテキストが空ではない場合
NamingException - ネーミング例外が見つかった場合
関連項目:
destroySubcontext(String)

destroySubcontext

public void destroySubcontext(String name)
                       throws NamingException
名前付きコンテキストを破棄し、名前空間から削除します。詳細は、destroySubcontext(Name) を参照してください。
パラメータ:
name - 破棄されるコンテキストの名前。空は不可
例外:
NameNotFoundException - 中間コンテキストが存在しない場合
NotContextException - 名前がバインドされているがコンテキストの名前がない、または該当する型のコンテキストの名前がない場合
ContextNotEmptyException - 名前付きコンテキストが空ではない場合
NamingException - ネーミング例外が見つかった場合

createSubcontext

public Context createSubcontext(Name name)
                         throws NamingException
新しいコンテキストを作成してバインドします。指定した名前の新しいコンテキストを作成し、(名前の終端の基本コンポーネント以外のすべてによって名付けられた) ターゲットコンテキストでバインドします。すべての中間コンテキストおよびターゲットコンテキストがすでに存在している必要があります。
パラメータ:
name - 作成されるコンテキストの名前。空は不可
戻り値:
新しく作成されたコンテキスト
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - サブコンテキストの作成に、必須属性の指定が必要な場合
NamingException - ネーミング例外が見つかった場合
関連項目:
createSubcontext(String), DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes)

createSubcontext

public Context createSubcontext(String name)
                         throws NamingException
新しいコンテキストを作成してバインドします。詳細は、createSubcontext(Name) を参照してください。
パラメータ:
name - 作成されるコンテキストの名前。空は不可
戻り値:
新しく作成されたコンテキスト
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - サブコンテキストの作成に、必須属性の指定が必要な場合
NamingException - ネーミング例外が見つかった場合

lookupLink

public Object lookupLink(Name name)
                  throws NamingException
名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。name にバインドされたオブジェクトがリンクではない場合は、オブジェクト自体が返されます。
パラメータ:
name - 検索するオブジェクトの名前
戻り値:
終端リンク (ある場合) をともなわない name にバインドされたオブジェクト
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
lookupLink(String)

lookupLink

public Object lookupLink(String name)
                  throws NamingException
名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。詳細は、lookupLink(Name) を参照してください。
パラメータ:
name - 検索するオブジェクトの名前
戻り値:
終端リンク (ある場合) をともなわない name にバインドされたオブジェクト
例外:
NamingException - ネーミング例外が見つかった場合

getNameParser

public NameParser getNameParser(Name name)
                         throws NamingException
名前付きコンテキストに関連したパーサを取得します。名前空間の連合では、さまざまなネーミングシステムで名前の構文が解析されます。このメソッドでは、特定のネーミングシステムのネーミング変換を使用して、アプリケーションで名前の構文を解析するパーサを基本コンポーネントにできます。単一のネーミングシステムでは、このメソッドによって返される NameParser オブジェクトは等しくなければなりません (equals() テストを使用)。
パラメータ:
name - パーサの取得元のコンテキストの名前
戻り値:
複合名の構文を解析して基本コンポーネントにする名前のパーサ
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
getNameParser(String), CompoundName

getNameParser

public NameParser getNameParser(String name)
                         throws NamingException
名前付きコンテキストに関連したパーサを取得します。詳細は、getNameParser(Name) を参照してください。
パラメータ:
name - パーサの取得元のコンテキストの名前
戻り値:
複合名の構文を解析して基本コンポーネントにする名前のパーサ
例外:
NamingException - ネーミング例外が見つかった場合

composeName

public Name composeName(Name name,
                        Name prefix)
                 throws NamingException
このコンテキストに関連した名前を持つ、このコンテキストの名前を変換します。このコンテキストに関連した名前 (name)、上位コンテキストの 1 つを基準にしたこのコンテキストの名前 (prefix) を指定すると、このメソッドは、関連するネーミングシステムに該当する構文を使用して、2 つの名前の複合を返します。つまり、name によって、このコンテキストに関連してオブジェクトに名前を付ける場合、結果は同じオブジェクトの名前になりますが、上位コンテキストに関連しています。名前は null にできません。

たとえば、このコンテキストが初期コンテキストに関連して "wiz.com" と命名された場合は、

	composeName("east", "wiz.com")	
"east.wiz.com" が返されます。このコンテキストの名前が "org/research" の場合は、
	composeName("user/jane", "org/research")	
"org/research/user/jane" が返されます。
	composeName("user/jane", "research")	
"research/user/jane" が返されます。
パラメータ:
name - このコンテキストに関連した名前
prefix - 上位コンテキストの 1 つに関連したこのコンテキストの名前
戻り値:
prefix および name の変換
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
composeName(String, String)

composeName

public String composeName(String name,
                          String prefix)
                   throws NamingException
このコンテキストに関連した名前を持つ、このコンテキストの名前を変換します。詳細は、composeName(Name, Name) を参照してください。
パラメータ:
name - このコンテキストに関連した名前
prefix - 上位コンテキストの 1 つに関連したこのコンテキストの名前
戻り値:
prefix および name の変換
例外:
NamingException - ネーミング例外が見つかった場合

addToEnvironment

public Object addToEnvironment(String propName,
                               Object propVal)
                        throws NamingException
このコンテキストの環境に、新しい環境プロパティを追加します。プロパティがすでに存在する場合、値は上書きされます。環境プロパティの詳細は、クラスの説明を参照してください。
パラメータ:
propName - 追加する環境プロパティの名前。null 以外
propVal - 追加するプロパティの値。null 以外
戻り値:
プロパティの以前の値、またはプロパティが以前は環境になかった場合は null
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
getEnvironment(), removeFromEnvironment(String)

removeFromEnvironment

public Object removeFromEnvironment(String propName)
                             throws NamingException
このコンテキストの環境から環境プロパティを削除します。環境プロパティの詳細は、クラスの説明を参照してください。
パラメータ:
propName - 削除する環境プロパティの名前。null 以外
戻り値:
プロパティの以前の値、またはプロパティが環境になかった場合は null
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
getEnvironment(), addToEnvironment(String, Object)

getEnvironment

public Hashtable getEnvironment()
                         throws NamingException
このコンテキストで有効な環境を取得します。環境プロパティの詳細は、クラスの説明を参照してください。

呼び出し側は、返されるオブジェクトを変更できません。コンテキストに対する効果は定義されていません。このコンテキストの環境は、addToEnvironment() および removeFromEnvironment() によって変更されることがあります。

戻り値:
このコンテキストの環境。null 以外
例外:
NamingException - ネーミング例外が見つかった場合
関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String)

close

public void close()
           throws NamingException
このコンテキストを閉じます。このメソッドでは、ガベージコレクタによって自動的に解放されるまで待機するのではなく、このコンテキストのリソースがただちに解放されます。

このメソッドはべき等です。すでに閉じられたコンテキストでこのメソッドを呼び出しても、効果はありません。閉じられたコンテキストで他のメソッドは呼び出せません。結果は未定義の動作になります。

例外:
NamingException - ネーミング例外が見つかった場合

getNameInNamespace

public String getNameInNamespace()
                          throws NamingException
独自の名前空間でこのコンテキストの完全な名前を取得します。

多くのネーミングサービスには、各名前空間のオブジェクトに対する「完全な名前」の概念があります。たとえば、LDAP エントリには特定の名前があり、DNS レコードには完全修飾名があります。このメソッドによって、クライアントアプリケーションでこの名前を取得できます。このメソッドで返される文字列は、JNDI 合成名ではなく、コンテキストメソッドに直接渡すことはできません。完全な名前の概念が意味を持たないネーミングシステムでは、OperationNotSupportedException がスローされます。

戻り値:
独自の名前空間に対するこのコンテキストの名前。null 以外
例外:
OperationNotSupportedException - ネーミングシステムに完全な名前の概念がない場合
NamingException - ネーミング例外が見つかった場合
導入されたバージョン:
1.3

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.