-
- 既知のすべてのサブインタフェース:
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()
の結果をContex
メソッドに対する引数として使用できます。 JNDI 1.2以前は、すべての名前引数が合成名とみなされていました。さらに、連合をサポートするシステムでは、
list()
およびlistBindings()
からNamingEnumeration
に返される名前はすべて、文字列として表される合成名です。 名前の文字列構文については、CompositeName
を参照してください。連合をサポートしていないシステムでは、(
Name
またはString
形式の)名前引数およびNamingEnumeration
で返される名前は、サービス・プロバイダの判断により、合成名前空間の名前ではなく、独自の名前空間の名前になることがあります。例外
このインタフェースのすべてのメソッドによって、NamingException
またはそのサブクラスのいずれかがスローされます。 各例外の詳細については、NamingException
およびサブクラスを参照してください。並行アクセス
Contextインスタンスは、複数のスレッドによる並行アクセスに対して同期することは保証されていません。 単一のContextインスタンスに並行してアクセスする必要のあるスレッドは、それらのスレッド間で同期化し、必要なロックをする必要があります。 異なるContextインスタンスを操作する複数スレッドは、同期化される必要はありません。lookup
メソッドが空の名前を渡すと、同じ名前付けコンテキストを表す新しいContextインスタンスが返されることに注意してください。並行性を制御するために、
NamingEnumeration
を返すコンテキスト・オペレーションは、列挙が使用中のとき、またはそのオペレーションで生成される参照が実行中のときには、完了していないものとみなされます。パラメータ
Context
インタフェースのメソッドまたはそのサブインタフェースの1つに引き渡されるName
パラメータは、サービス・プロバイダでは変更されません。 サービス・プロバイダでは、メソッドの結果の列挙、および生成された参照の処理を含むオペレーションの間に、そこへの参照が保持されます。 呼出し側は、この間にオブジェクトを変更することはできません。 このようなメソッドによって返されるName
は、呼出し側が所有します。 呼出し側はその後このオブジェクトを変更できますが、サービス・プロバイダは変更できません。環境プロパティ
JNDIアプリケーションでは、ネーミング・サービスとディレクトリ・サービスからアクセスされる環境を定義する、さまざまな設定やプロパティを伝達する方法が必要とされます。 たとえば、あるコンテキストでは、サービスにアクセスするためにセキュリティ資格の指定が必要になります。 別のコンテキストでは、サーバー構成情報を指定する必要があります。 これらは、コンテキストの環境と呼ばれます。
Context
インタフェースでは、この環境を取得および更新するためのメソッドが提供されています。環境は、コンテキスト・メソッドがあるコンテキストから次のコンテキストに進むにつれて、親コンテキストから継承されます。 1つのコンテキストの環境を変更しても、その他のコンテキストの環境には直接影響しません。
環境プロパティの使用、または有効性の検査、あるいはその両方がいつ行われるかは、実装に依存します。 たとえば、ディレクトリに「ログイン」するために、サービス・プロバイダでセキュリティ関連のプロパティが使用されるとします。 このログイン・プロセスは、コンテキストが作成されたとき、またはコンテキストでメソッドが最初に呼び出されたときに発生します。 これがいつ発生するか、および発生するかどうかは、実装に依存します。 コンテキストに対して環境プロパティの追加または削除が行われたときに、変更の有効性の検査が行われるタイミングも、実装に依存します。 たとえば、あるプロパティの検査は、変更が行われたとき、またはコンテキストで次のオペレーションが実行されたときに行われるか、あるいはまったく行われません。
コンテキストへの参照を含むオブジェクトでは、そのコンテキストの環境が検査されます。 クリアテキストのパスワードなどの重要な情報は、実装で保護されているかどうかがわからない場合には、保存しないでください。
リソース・ファイル
JNDIアプリケーションで必要な環境を設定するタスクを簡単にするために、アプリケーション・コンポーネントとサービス・プロバイダがリソース・ファイルとともに分配されることがあります。 JNDIリソース・ファイルは、プロパティ・ファイル形式(
java.util.Properties
を参照してください)のファイルで、キーと値のペアのリストを含んでいます。 キーはプロパティの名前(java.naming.factory.objectなど)で、値はそのプロパティに定義された形式の文字列です。 次に、JNDIリソース・ファイルの例を示します。
JNDIクラス・ライブラリでは、リソース・ファイルを読み込み、プロパティ値を自由に使用できるようにします。 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リソース・ファイルには、プロバイダおよびアプリケーションの2種類があります。
プロバイダ・リソース・ファイル
各サービス・プロバイダには、そのプロバイダに固有のプロパティをリストに表示するオプションのリソースがあります。 このリソースの名前は次のようになります。[prefix/]
ここで、prefixはプロバイダのコンテキスト実装のパッケージ名であり、各ピリオド(「.」)はスラッシュ(「/」)に変換されます。 たとえば、サービス・プロバイダがjndiprovider.properties
com.sun.jndi.ldap.LdapCtx
というクラス名を持つコンテキスト実装を定義するとします。 このプロバイダのプロバイダ・リソースには、com/sun/jndi/ldap/jndiprovider.properties
という名前が付けられます。 クラスがパッケージにない場合、リソースの名前は単にjndiprovider.properties
になります。JNDIクラス・ライブラリの特定のメソッドでは、JNDIファクトリのリストを指定する標準JNDIプロパティが使用されます。
- java.naming.factory.object
- java.naming.factory.state
- java.naming.factory.control
- java.naming.factory.url.pkgs
アプリケーション・リソース・ファイル
アプリケーションが配置される場合、通常はclasspathに複数のコードベース・ディレクトリおよびJARがあります。 JNDIはクラスパス内のjndi.properties
という名前の「アプリケーション・リソース・ファイル」をすべて検索します。 さらに、Javaインストール・ディレクトリに組み込みのプロパティ・ファイル(通常はconf/jndi.properties
)が含まれている場合、JNDIはそれを追加のアプリケーション・リソース・ファイルとして扱います。 これらのファイルに含まれるプロパティはすべて、初期コンテキストの環境に配置されます。 この環境は、他のコンテキストに継承されます。1つ以上のアプリケーション・リソース・ファイルにあるプロパティの場合、JNDIでは検索された最初の値が使用されるか、または意味がある場合に限り、すべての値が連結されます(詳細は次に示します)。 たとえば、3つの
jndi.properties
リソース・ファイルにjava.naming.factory.objectプロパティがある場合、オブジェクト・ファクトリのリストは、3つのファイルすべてからのプロパティ値の連結になります。 この方式を使用すると、配置可能なコンポーネントのそれぞれで、エクスポートするファクトリがリスト表示されます。 JNDIでは、ファクトリ・クラスを検索するときに、これらのエクスポート・リストがすべて収集および使用されます。プロパティの検索アルゴリズム
JNDIが初期コンテキストを構築するとき、コンテキスト環境は、コンストラクタに渡される環境パラメータで定義されたプロパティ、システム・プロパティ、およびアプリケーション・リソース・ファイルで初期化されます。 詳細については、InitialContext
を参照してください。 この初期環境は、ほかのコンテキスト・インスタンスで継承されます。JNDIクラス・ライブラリでプロパティの値を決定する必要がある場合は、次の2つのソースから値を順にマージして実行します。
- 生成されるコンテキストの環境。
- 生成されるコンテキストのプロバイダ・リソース・ファイル(
jndiprovider.properties
)。
サービス・プロバイダでプロパティの値を決定する必要がある場合、通常は環境から値が直接取得されます。 サービス・プロバイダは、独自のプロバイダ・リソース・ファイルに配置される、プロバイダ固有のプロパティを定義できます。 その場合は、前の段落で説明した値をマージする必要があります。
このように、各サービス・プロバイダの開発者は、そのサービス・プロバイダで使用するファクトリのリストを指定できます。 これらは、アプリケーションのデプロイヤによって指定されたアプリケーション・リソースによって変更できます。アプリケーション・リソースは、ユーザーが変更できます。
- 導入されたバージョン:
- 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(String name, Object obj)
名前をオブジェクトにバインドします。void
bind(Name name, Object obj)
名前をオブジェクトにバインドします。void
close()
このコンテキストを閉じます。String
composeName(String name, String prefix)
このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。Name
composeName(Name name, Name prefix)
このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。Context
createSubcontext(String name)
新しいコンテキストを作成してバインドします。Context
createSubcontext(Name name)
新しいコンテキストを作成してバインドします。void
destroySubcontext(String name)
名前付きコンテキストを破棄し、名前空間から削除します。void
destroySubcontext(Name name)
名前付きコンテキストを破棄し、名前空間から削除します。Hashtable<?,?>
getEnvironment()
このコンテキストで有効な環境を取得します。String
getNameInNamespace()
独自の名前空間でこのコンテキストの完全な名前を取得します。NameParser
getNameParser(String name)
名前付きコンテキストに関連したパーサーを取得します。NameParser
getNameParser(Name name)
名前付きコンテキストに関連したパーサーを取得します。NamingEnumeration<NameClassPair>
list(String name)
バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。NamingEnumeration<NameClassPair>
list(Name name)
バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。NamingEnumeration<Binding>
listBindings(String name)
バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。NamingEnumeration<Binding>
listBindings(Name name)
バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。Object
lookup(String name)
名前付きオブジェクトを取得します。Object
lookup(Name name)
名前付きオブジェクトを取得します。Object
lookupLink(String name)
名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。Object
lookupLink(Name name)
名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。void
rebind(String name, Object obj)
名前をオブジェクトにバインドし、既存のバインディングを上書きします。void
rebind(Name name, Object obj)
名前をオブジェクトにバインドし、既存のバインディングを上書きします。Object
removeFromEnvironment(String propName)
このコンテキストの環境から環境プロパティを削除します。void
rename(String oldName, String newName)
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。void
rename(Name oldName, Name newName)
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。void
unbind(String name)
名前付きオブジェクトをアンバインドします。void
unbind(Name name)
名前付きオブジェクトをアンバインドします。
-
-
-
フィールドの詳細
-
INITIAL_CONTEXT_FACTORY
static final String INITIAL_CONTEXT_FACTORY
使用する初期コンテキスト・ファクトリを指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、初期コンテキストを作成するファクトリ・クラスの完全指定クラス名である必要があります。 このプロパティは、初期コンテキスト・コンストラクタ、システム・プロパティ、またはアプリケーション・リソース・ファイルに渡される環境パラメータで指定できます。 プロパティがこれらのソースで指定されていない場合に、初期コンテキストでオペレーションの完了が必要になると、NoInitialContextException
がスローされます。この定数の値は"java.naming.factory.initial"です。
-
OBJECT_FACTORIES
static final String OBJECT_FACTORIES
使用するオブジェクト・ファクトリのリストを指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、指定されたオブジェクト情報からオブジェクトを生成する、ファクトリ・クラスの完全指定クラス名のコロンで区切られたリストである必要があります。 このプロパティは、環境、システム・プロパティ、または1つ以上のリソース・ファイルで指定することができます。この定数の値は"java.naming.factory.object"です。
-
STATE_FACTORIES
static final String STATE_FACTORIES
使用する状態ファクトリのリストを指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、指定されたオブジェクトの状態を取得するために使用される、状態ファクトリ・クラスの完全指定クラス名のコロンで区切られたリストである必要があります。 このプロパティは、環境、システム・プロパティ、または1つ以上のリソース・ファイルで指定することができます。この定数の値は"java.naming.factory.state"です。
-
URL_PKG_PREFIXES
static final String URL_PKG_PREFIXES
URLコンテキスト・ファクトリをロードするときに使用するパッケージ接頭辞のリストを指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、URLコンテキスト・ファクトリを作成するファクトリ・クラスのクラス名に対する、パッケージ接頭辞のコロンで区切られたリストである必要があります。 このプロパティは、環境、システム・プロパティ、または1つ以上のリソース・ファイルで指定することができます。 接頭辞com.sun.jndi.url
は、パッケージ接頭辞の空のリストに常に追加されます。この定数の値は"java.naming.factory.url.pkgs"です。
-
PROVIDER_URL
static final String PROVIDER_URL
使用するサービス・プロバイダの構成情報を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値には、URL文字列(ldap://somehost:389など)が含まれる必要があります。 このプロパティは、環境、システム・プロパティ、またはリソース・ファイルで指定することができます。 これらのソースが指定されていない場合、デフォルトの構成はサービス・プロバイダによって決定されます。この定数の値は"java.naming.provider.url"です。
-
DNS_URL
static final String DNS_URL
JNDI URLコンテキスト(dns://somehost/wiz.comなど)に使用するDNSホスト名およびドメイン名を指定するための、環境プロパティの名前を保持する定数です。 このプロパティは、環境、システム・プロパティ、またはリソース・ファイルで指定することができます。 これらのソースが指定されていない場合に、プログラムでDNS名を含むJNDI URLを使用しようとすると、ConfigurationException
がスローされます。この定数の値は"java.naming.dns.url"です。
-
AUTHORITATIVE
static final String AUTHORITATIVE
要求されたサービスの権限を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値が文字列trueの場合、もっとも正当な権限を持つソースにアクセスできる(キャッシュまたは複製をバイパスする)ことを示します。 値がそれ以外の場合、ソースには権限は必要ありませんが、持っている場合もあります。 指定しない場合、値のデフォルトはfalseです。この定数の値は"java.naming.authoritative"です。
-
BATCHSIZE
static final String BATCHSIZE
サービスのプロトコルによってデータを返すときに使用するバッチ・サイズを指定するための、環境プロパティの名前を保持する定数です。 これは、指定したサイズのバッチでオペレーションの結果を返すプロバイダへのヒントになるため、プロバイダはパフォーマンスおよびリソースの使用法を最適化できます。 プロパティの値は、整数の文字列表現です。 指定しない場合、バッチ・サイズはサービス・プロバイダによって決定されます。この定数の値は"java.naming.batchsize"です。
-
REFERRAL
static final String REFERRAL
サービス・プロバイダによって参照が処理される方法を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、次の文字列の1つです。- "follow"
- 参照に自動的に従う
- "ignore"
- 参照を無視する
- "throw"
- 参照が見つかった場合、
ReferralException
をスローする。
この定数の値は"java.naming.referral"です。
-
SECURITY_PROTOCOL
static final String SECURITY_PROTOCOL
使用するセキュリティ・プロトコルを指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、サービス・プロバイダによって決定される文字列(sslなど)です。 このプロパティが指定されていない場合、動作はサービス・プロバイダによって決定されます。この定数の値は"java.naming.security.protocol"です。
-
SECURITY_AUTHENTICATION
static final String SECURITY_AUTHENTICATION
使用するセキュリティ・レベルを指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、文字列none、simple、strongのうちの1つです。 このプロパティが指定されていない場合、動作はサービス・プロバイダによって決定されます。この定数の値は"java.naming.security.authentication"です。
-
SECURITY_PRINCIPAL
static final String SECURITY_PRINCIPAL
サービスに対する呼出し側を認証する主体の識別情報を指定するための、環境プロパティの名前を保持する定数です。 主体の形式は、認証方式によります。 このプロパティが指定されていない場合、動作はサービス・プロバイダによって決定されます。この定数の値は"java.naming.security.principal"です。
-
SECURITY_CREDENTIALS
static final String SECURITY_CREDENTIALS
サービスに対する呼出し側を認証する主体の資格を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、認証方式によります。 たとえば、ハッシュされたパスワード、クリアテキストのパスワード、キー、証明書などです。 このプロパティが指定されていない場合、動作はサービス・プロバイダによって決定されます。この定数の値は"java.naming.security.credentials"です。
-
LANGUAGE
static final String LANGUAGE
サービスに使用する優先言語を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、RFC 1766で定義されている言語タグのコロンで区切られたリストです。 このプロパティが指定されていない場合、言語の設定はサービス・プロバイダによって決定されます。この定数の値は"java.naming.language"です。
-
APPLET
@Deprecated static final String APPLET
非推奨。この名前の環境プロパティは、初期コンテキストを構築する際に無視されます。 この定数はもともと、初期コンテキストを作成するときにパラメータを取り出すためのApplet
を指定するプロパティ名として使用されました。 現在、初期コンテキストに渡す必要があるアプレットのプロパティはすべて、環境ハッシュテーブルにコピーする必要があります:Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, ((Applet) this).getParameter(Context.INITIAL_CONTEXT_FACTORY)); env.put(Context.PROVIDER_URL, ((Applet) this).getParameter(Context.PROVIDER_URL)); // ... other properties ... Context ctx = new InitialContext(env);
- 導入されたバージョン:
- 1.3
- 関連項目:
- 定数フィールド値
-
-
メソッドの詳細
-
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
- いずれかの上位コンテキストを基準にした、このコンテキストの名前- 戻り値:
prefix
とname
の変換- 例外:
NamingException
- ネーミング例外が発生した場合- 関連項目:
composeName(String, String)
-
composeName
String composeName(String name, String prefix) throws NamingException
このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。 詳細は、composeName(Name, Name)
を参照してください。- パラメータ:
name
- このコンテキストを基準にした名前prefix
- いずれかの上位コンテキストを基準にした、このコンテキストの名前- 戻り値:
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
-
-