JavaTM 2
Platform
Std. Ed. v1.4.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
          サービスプロバイダによって参照が処理される方法を指定するための、環境プロパティの名前を保持する定数です。
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" です。

導入されたバージョン:
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

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" です。

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

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.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.