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, 2014, Oracle and/or its affiliates. All rights reserved.