JavaTM 2 Platform
Standard Ed. 5.0

javax.naming
インタフェース Context

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

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
           この定数の値は java.naming.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<NameClassPair> list(Name name)
          バインドされたオブジェクトのクラス名とともに、指定されたコンテキストでバインドされた名前を列挙します。
 NamingEnumeration<NameClassPair> list(String name)
          バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。
 NamingEnumeration<Binding> listBindings(Name name)
          バインドされたオブジェクトとともに、指定されたコンテキストでバインドされた名前を列挙します。
 NamingEnumeration<Binding> 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

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

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

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

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

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

URL_PKG_PREFIXES

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

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

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), APPLET, 定数フィールド値

DNS_URL

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

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

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), 定数フィールド値

BATCHSIZE

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

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), 定数フィールド値

REFERRAL

static final String REFERRAL

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), 定数フィールド値

SECURITY_PROTOCOL

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

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), 定数フィールド値

SECURITY_AUTHENTICATION

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

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), 定数フィールド値

SECURITY_PRINCIPAL

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

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), 定数フィールド値

SECURITY_CREDENTIALS

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

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), 定数フィールド値

LANGUAGE

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

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

関連項目:
addToEnvironment(String, Object), removeFromEnvironment(String), 定数フィールド値

APPLET

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

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

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

lookup

Object lookup(Name name)
              throws NamingException
指定されたオブジェクトを取得します。name が空の場合は、このコンテキストの新しいインスタンスを返します。このコンテキストと同じネーミングコンテキストを表しますが、環境は個別に変更することができ、同時にアクセスすることもできます。

パラメータ:
name - 検索するオブジェクトの名前
戻り値:
name にバインドされるオブジェクト
例外:
NamingException - ネーミング例外が発生した場合
関連項目:
lookup(String), lookupLink(Name)

lookup

Object lookup(String name)
              throws NamingException
名前付きオブジェクトを取得します。詳細は、lookup(Name) を参照してください。

パラメータ:
name - 検索するオブジェクトの名前
戻り値:
name にバインドされるオブジェクト
例外:
NamingException - ネーミング例外が発生した場合

bind

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

void bind(String name,
          Object obj)
          throws NamingException
名前をオブジェクトにバインドします。詳細は、bind(Name, Object) を参照してください。

パラメータ:
name - 空ではないバインドされる名前
obj - null の可能性があるバインドされるオブジェクト
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - オブジェクトにすべての必須属性が指定されていない場合
NamingException - ネーミング例外が発生した場合

rebind

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

void rebind(String name,
            Object obj)
            throws NamingException
名前をオブジェクトにバインドして、既存のバインディングを上書きします。詳細は、rebind(Name, Object) を参照してください。

パラメータ:
name - 空ではないバインドされる名前
obj - null の可能性があるバインドされるオブジェクト
例外:
InvalidAttributesException - オブジェクトにすべての必須属性が指定されていない場合
NamingException - ネーミング例外が発生した場合

unbind

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

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

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

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

unbind

void unbind(String name)
            throws NamingException
名前付きオブジェクトをアンバインドします。詳細は、unbind(Name) を参照してください。

パラメータ:
name - アンバインドする名前。空は不可
例外:
NameNotFoundException - 中間コンテキストが存在しない場合
NamingException - ネーミング例外が発生した場合

rename

void rename(Name oldName,
            Name newName)
            throws NamingException
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。2 つの名前は、このコンテキストを基準にします。以前の名前に関連付けられた属性は、新しい名前に関連付けられます。以前の名前の中間コンテキストは、変更されません。

パラメータ:
oldName - 既存のバインディングの名前。空は不可
newName - 新しいバインディングの名前。空は不可
例外:
NameAlreadyBoundException - newName がすでにバインドされている場合
NamingException - ネーミング例外が発生した場合
関連項目:
rename(String, String), bind(Name, Object), rebind(Name, Object)

rename

void rename(String oldName,
            String newName)
            throws NamingException
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。詳細は、rename(Name, Name) を参照してください。

パラメータ:
oldName - 既存のバインディングの名前。空は不可
newName - 新しいバインディングの名前。空は不可
例外:
NameAlreadyBoundException - newName がすでにバインドされている場合
NamingException - ネーミング例外が発生した場合

list

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

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

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

list

NamingEnumeration<NameClassPair> list(String name)
                                      throws NamingException
バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。詳細は、list(Name) を参照してください。

パラメータ:
name - リスト表示するコンテキストの名前
戻り値:
このコンテキストのバインディングの名前とクラス名の列挙。列挙の要素の型は NameClassPair
例外:
NamingException - ネーミング例外が発生した場合

listBindings

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

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

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

listBindings

NamingEnumeration<Binding> listBindings(String name)
                                        throws NamingException
バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。詳細は、listBindings(Name) を参照してください。

パラメータ:
name - リスト表示するコンテキストの名前
戻り値:
このコンテキストのバインディングの列挙。列挙の各要素は Binding
例外:
NamingException - ネーミング例外が発生した場合

destroySubcontext

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

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

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

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

destroySubcontext

void destroySubcontext(String name)
                       throws NamingException
名前付きコンテキストを破棄し、名前空間から削除します。詳細は、destroySubcontext(Name) を参照してください。

パラメータ:
name - 破棄されるコンテキストの名前。空は不可
例外:
NameNotFoundException - 中間コンテキストが存在しない場合
NotContextException - 名前がバインドされているがコンテキストの名前がない、または該当する型のコンテキストの名前がない場合
ContextNotEmptyException - 指定されたコンテキストが空ではない場合
NamingException - ネーミング例外が発生した場合

createSubcontext

Context createSubcontext(Name name)
                         throws NamingException
新しいコンテキストを作成してバインドします。指定した名前の新しいコンテキストを作成し、(名前の終端の基本コンポーネント以外のすべてによって名付けられた) ターゲットコンテキストでバインドします。すべての中間コンテキストおよびターゲットコンテキストがすでに存在している必要があります。

パラメータ:
name - 空ではない作成されるコンテキストの名前
戻り値:
新しく作成されたコンテキスト
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - サブコンテキストの作成に、必須属性の指定が必要な場合
NamingException - ネーミング例外が発生した場合
関連項目:
createSubcontext(String), DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes)

createSubcontext

Context createSubcontext(String name)
                         throws NamingException
新しいコンテキストを作成してバインドします。詳細は、createSubcontext(Name) を参照してください。

パラメータ:
name - 空ではない作成されるコンテキストの名前
戻り値:
新しく作成されたコンテキスト
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - サブコンテキストの作成に、必須属性の指定が必要な場合
NamingException - ネーミング例外が発生した場合

lookupLink

Object lookupLink(Name name)
                  throws NamingException
名前の終端の基本コンポーネントを除くリンクをともなう、指定されたオブジェクトを取得します。name にバインドされたオブジェクトがリンクではない場合は、オブジェクト自体が返されます。

パラメータ:
name - 検索するオブジェクトの名前
戻り値:
終端リンク (ある場合) をともなわない name にバインドされたオブジェクト
例外:
NamingException - ネーミング例外が発生した場合
関連項目:
lookupLink(String)

lookupLink

Object lookupLink(String name)
                  throws NamingException
名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。詳細は、lookupLink(Name) を参照してください。

パラメータ:
name - 検索するオブジェクトの名前
戻り値:
終端リンク (ある場合) をともなわない name にバインドされたオブジェクト
例外:
NamingException - ネーミング例外が発生した場合

getNameParser

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

パラメータ:
name - パーサの取得元のコンテキストの名前
戻り値:
複合名の構文を構文解析して基本コンポーネントにする名前のパーサ
例外:
NamingException - ネーミング例外が発生した場合
関連項目:
getNameParser(String), CompoundName

getNameParser

NameParser getNameParser(String name)
                         throws NamingException
名前付きコンテキストに関連したパーサを取得します。詳細は、getNameParser(Name) を参照してください。

パラメータ:
name - パーサの取得元のコンテキストの名前
戻り値:
複合名の構文を構文解析して基本コンポーネントにする名前のパーサ
例外:
NamingException - ネーミング例外が発生した場合

composeName

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

String composeName(String name,
                   String prefix)
                   throws NamingException
このコンテキストに関連した名前を持つ、このコンテキストの名前を変換します。詳細は、composeName(Name, Name) を参照してください。

パラメータ:
name - このコンテキストに関連した名前
prefix - 上位コンテキストの 1 つに関連したこのコンテキストの名前
戻り値:
prefix および name の変換
例外:
NamingException - ネーミング例外が発生した場合

addToEnvironment

Object addToEnvironment(String propName,
                        Object propVal)
                        throws NamingException
このコンテキストの環境に、新しい環境プロパティを追加します。プロパティがすでに存在する場合、値は上書きされます。環境プロパティの詳細は、クラスの説明を参照してください。

パラメータ:
propName - 追加する環境プロパティの名前。null 以外
propVal - 追加するプロパティの値。null 以外
戻り値:
プロパティの以前の値、またはプロパティが以前は環境になかった場合は null
例外:
NamingException - ネーミング例外が発生した場合
関連項目:
getEnvironment(), removeFromEnvironment(String)

removeFromEnvironment

Object removeFromEnvironment(String propName)
                             throws NamingException
このコンテキストの環境から環境プロパティを削除します。環境プロパティの詳細は、クラスの説明を参照してください。

パラメータ:
propName - 削除する環境プロパティの名前。null 以外
戻り値:
プロパティの以前の値、またはプロパティが環境になかった場合は null
例外:
NamingException - ネーミング例外が発生した場合
関連項目:
getEnvironment(), addToEnvironment(String, Object)

getEnvironment

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

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

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

close

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

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

例外:
NamingException - ネーミング例外が発生した場合

getNameInNamespace

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

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

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

JavaTM 2 Platform
Standard Ed. 5.0

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

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。