JavaTM Platform
Standard Ed. 6

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 で返される名前は、サービスプロバイダの判断により、合成名前空間の名前ではなく、独自の名前空間の名前になることがあります。

Exceptions

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

並行アクセス

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

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

パラメータ

Context インタフェースのメソッドまたはそのサブインタフェースの 1 つに引き渡される 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 では、ファクトリクラスを検索したときに、これらのエクスポートリストを自動的に収集して使用します。

プロパティーの検索アルゴリズム
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<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
サービスプロバイダによって参照が処理される方法を指定するための、環境プロパティーの名前を保持する定数です。プロパティーの値は、次の文字列の 1 つです。
"follow"
参照に自動的に従う
"ignore"
参照を無視する
"throw"
参照が見つかった場合、ReferralException をスローする
このプロパティーが指定されていない場合、デフォルトはプロバイダによって決定されます。  

この定数の値は "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 Platform
Standard Ed. 6

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

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