public class InitialLdapContext extends InitialDirContext implements LdapContext
同期に関する詳細、初期コンテキストの作成方針については、javax.naming.InitialContext および javax.naming.InitialDirContext を参照してください。
初期コンテキストコンストラクタに指定された要求コントロールは、検索およびルックアップなどの後続のコンテキスト操作のコンテキスト要求コントロールとしては使用されません。コンテキスト要求コントロールは、setRequestControls() を使って設定および変更されます。
したがって、コンテキストに関連した要求コントロールには、接続要求コントロールとコンテキスト要求コントロールの 2 種類のセットを持つことがあります。このことは、コンテキスト操作と暗黙的な LDAP「バインド」操作の両方に適用できない可能性のあるクリティカルなコントロールを送る必要のあるアプリケーションには必要です。一般ユーザーのプログラムは次のように処理されます。
まず、初期コンテキストを作成するために、クリティカルなコントロール (critConnCtls) を指定します。次に、コンテキスト操作のためのコンテキストの要求コントロール (critModCtls) を設定します。何らかの理由のため lctx が再度サーバーに接続する必要がある場合は、critConnCtls を使用します。要求コントロールの詳細は LdapContext インタフェースを参照してください。InitialLdapContext lctx = new InitialLdapContext(env, critConnCtls); lctx.setRequestControls(critModCtls); lctx.modifyAttributes(name, mods); Controls[] respCtls = lctx.getResponseControls();
サービスプロバイダの実装者は、実装の詳細について、LdapContext のクラスの説明にある「サービスプロバイダ」のセクションを参照するようにしてください。
defaultInitCtx, gotDefault, myProps
CONTROL_FACTORIES
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES
コンストラクタと説明 |
---|
InitialLdapContext()
環境プロパティーまたは接続要求コントロールを使用しないで、初期コンテキストを構築します。
|
InitialLdapContext(Hashtable<?,?> environment, Control[] connCtls)
環境プロパティーおよび接続要求コントロールを使用して、初期コンテキストを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
ExtendedResponse |
extendedOperation(ExtendedRequest request)
拡張操作を実行します。
|
Control[] |
getConnectControls()
このコンテキストに有効な接続要求コントロールを取得します。
|
Control[] |
getRequestControls()
このコンテキストに有効な要求コントロールを取得します。
|
Control[] |
getResponseControls()
このコンテキストで最後に呼び出されたメソッドの結果として生成された応答コントロールを取得します。
|
LdapContext |
newInstance(Control[] reqCtls)
このコンテキストの新しいインスタンスを要求コントロールを使って生成します。
|
void |
reconnect(Control[] connCtls)
指定されたコントロールとこのコンテキスト環境を使って LDAP サーバーに再接続します。
|
void |
setRequestControls(Control[] requestControls)
このコンテキストで引き続き呼び出されるメソッドに要求コントロールを設定します。
|
bind, bind, createSubcontext, createSubcontext, getAttributes, getAttributes, getAttributes, getAttributes, getSchema, getSchema, getSchemaClassDefinition, getSchemaClassDefinition, modifyAttributes, modifyAttributes, modifyAttributes, modifyAttributes, rebind, rebind, search, search, search, search, search, search, search, search
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, doLookup, doLookup, getDefaultInitCtx, getEnvironment, getNameInNamespace, getNameParser, getNameParser, getURLOrDefaultInitCtx, getURLOrDefaultInitCtx, init, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
bind, bind, createSubcontext, createSubcontext, getAttributes, getAttributes, getAttributes, getAttributes, getSchema, getSchema, getSchemaClassDefinition, getSchemaClassDefinition, modifyAttributes, modifyAttributes, modifyAttributes, modifyAttributes, rebind, rebind, search, search, search, search, search, search, search, search
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getEnvironment, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
public InitialLdapContext() throws NamingException
NamingException
- ネーミング例外が発生した場合public InitialLdapContext(Hashtable<?,?> environment, Control[] connCtls) throws NamingException
このコンストラクタでは、パラメータの変更または参照の保存は行われませんが、複製またはコピーが保存されます。呼び出し元は、environment がコンストラクタに渡されたあと、そこに含まれている可変のキーや値を変更してはいけません。
connCtls は、基となるコンテキストインスタンスの接続要求コントロールとして使用されます。詳細については、クラスについての記述を参照してください。
environment
- 初期の DirContext を作成するために使用される環境。null は空の環境を示す。connCtls
- 初期コンテキストの接続要求コントロール。null の場合、接続要求コントロールは使用されない。NamingException
- ネーミング例外が発生した場合reconnect(javax.naming.ldap.Control[])
, LdapContext.reconnect(javax.naming.ldap.Control[])
public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException
LdapContext
extendedOperation
、インタフェース: LdapContext
request
- 実行される null 以外の要求。NamingException
- 拡張操作の実行中にエラーが発生した場合。public LdapContext newInstance(Control[] reqCtls) throws NamingException
LdapContext
新規コンテキストには、このコンテキストと同じ環境プロパティー、接続要求コントロールがあります。詳細については、クラスについての記述を参照してください。このコンテキストと新規コンテキストの間で、同じネットワーク接続またはその他のリソースを共有することもできます。ただし、各コンテキストの間で競合が発生する場合は、共有できません。
newInstance
、インタフェース: LdapContext
reqCtls
- 新しいコンテキストに使用する null の可能性がある要求コントロール。null の場合は、要求コントロールを使用しないで初期化される。NamingException
- 新しいインスタンスの作成中にエラーが発生した場合。InitialLdapContext
public void reconnect(Control[] connCtls) throws NamingException
LdapContext
このメソッドは、LDAP のバインド操作を明示的に初期化する方法です。このメソッドを使って、LDAP バインド操作に要求コントロールを設定したり、またはその操作によって返される応答コントロールを取得するために明示的にサーバーに接続できます。
このメソッドは、このコンテキストの connCtls をその新しい接続要求コントロールとして設定します。このコンテキストのコンテキスト要求コントロールは影響を受けません。このメソッドが呼び出されたあと、以降の暗黙的な再接続はすべて connCtls を使用して実行されます。connCtls はまた、このコンテキストから派生した新しいコンテキストインスタンスのための接続要求コントロールとしても使用されます。これらの接続要求コントロールは、setRequestControls() の影響を受けません。
実装の詳細については、実装側であるサービスプロバイダは、クラスの「サービスプロバイダ」セクションをよく読んでください。
reconnect
、インタフェース: LdapContext
connCtls
- 使用する null の可能性があるコントロール。null の場合、コントロールが使用されない。NamingException
- 再接続中にエラーが発生した場合。LdapContext.getConnectControls()
, LdapContext.newInstance(javax.naming.ldap.Control[])
public Control[] getConnectControls() throws NamingException
LdapContext
getConnectControls
、インタフェース: LdapContext
NamingException
- 要求コントロールの取得中にエラーが発生した場合。public void setRequestControls(Control[] requestControls) throws NamingException
LdapContext
これにより、以前の要求コントロールがすべて削除され、このコンテキストで呼び出される以降のメソッドが使用するための requestControls が追加されます。このメソッドは、このコンテキストの接続要求コントロールには影響を与えません。
requestControls は、setRequestControls() の次の呼び出しまで有効です。これ以上コンテキストメソッドに影響を与えたくない場合は、null または空の配列を使用して setRequestControls() を明示的に呼び出してコントロールを解除する必要があります。このコンテキストに対してどのような要求コントロールが有効かを確認するには、getRequestControls() を使用します。
setRequestControls
、インタフェース: LdapContext
requestControls
- 使用する null の可能性があるコントロール。null の場合、コントロールが使用されない。NamingException
- 要求コントロールの設定中にエラーが発生した場合。LdapContext.getRequestControls()
public Control[] getRequestControls() throws NamingException
LdapContext
getRequestControls
、インタフェース: LdapContext
NamingException
- 要求コントロールの取得中にエラーが発生した場合。LdapContext.setRequestControls(javax.naming.ldap.Control[])
public Control[] getResponseControls() throws NamingException
LdapContext
これらの応答コントロールには、正常に終了した操作または失敗した操作によって生成されたものがあります。
応答コントロールを返す可能性のあるコンテキストメソッドが呼び出されると、以前のメソッド呼び出しからの応答コントロールが解除されます。getResponseControls() は、コンテキストメソッドで使用される LDAP 操作によって生成されたすべての応答コントロールを LDAP サーバーから受信した順序で返します。getResponseControls() を呼び出しても、応答コントロールは解除されません。コントロールを返すことができる次のコンテキストメソッドが呼び出されるまで何度でも呼び出したり、同じコントロールを戻したりすることが可能です。
getResponseControls
、インタフェース: LdapContext
NamingException
- 応答コントロールの取得中にエラーが発生した場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.