- java.lang.Object
-
- javax.naming.InitialContext
-
- javax.naming.directory.InitialDirContext
-
- javax.naming.ldap.InitialLdapContext
-
- すべての実装されたインタフェース:
Context
,DirContext
,LdapContext
public class InitialLdapContext extends InitialDirContext implements LdapContext
このクラスは、LDAPv3スタイルの拡張操作および拡張コントロールを実行するための開始コンテキストです。同期に関する詳細、初期コンテキストの作成方針については、
javax.naming.InitialContext
およびjavax.naming.InitialDirContext
を参照してください。要求コントロール
InitialLdapContext
である初期コンテキストを作成するときは、要求コントロールのリストを指定できます。 リスト内のコントロールは、コンテキスト、またはコンテキストから派生したコンテキストによって実行された暗黙的なLDAPバインド操作のための要求コントロールとして使用されます。 これらのコントロールを接続要求コントロールといいます。 コンテキストの接続要求コントロールを取得するには、getConnectControls()
を使用します。初期コンテキスト・コンストラクタに指定された要求コントロールは、検索およびルックアップなどの後続のコンテキスト操作のコンテキスト要求コントロールとしては使用されません。 コンテキスト要求コントロールは、
setRequestControls()
を使って設定および変更されます。したがって、コンテキストに関連した要求コントロールには、接続要求コントロールとコンテキスト要求コントロールの2種類のセットを持つことがあります。 このことは、コンテキスト操作と暗黙的なLDAP「バインド」操作の両方に適用できない可能性のあるクリティカルなコントロールを送る必要のあるアプリケーションには必要です。 一般ユーザーのプログラムは次のように処理されます。
まず、初期コンテキストを作成するために、クリティカルなコントロール(InitialLdapContext lctx = new InitialLdapContext(env, critConnCtls); lctx.setRequestControls(critModCtls); lctx.modifyAttributes(name, mods); Controls[] respCtls = lctx.getResponseControls();
critConnCtls
)を指定します。次に、コンテキスト操作のためのコンテキストの要求コントロール(critModCtls
)を設定します。 なんらかの理由のためlctx
が再度サーバーに接続する必要がある場合は、critConnCtls
を使用します。 要求コントロールの詳細はLdapContext
インタフェースを参照してください。サービス・プロバイダの実装者は、実装の詳細について、
LdapContext
のクラスの説明にあるサービス・プロバイダのセクションを参照するようにしてください。
-
-
フィールドのサマリー
-
インタフェース javax.naming.Contextから継承されたフィールド
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
-
インタフェース javax.naming.directory.DirContextから継承されたフィールド
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE
-
クラス javax.naming.InitialContextから継承されたフィールド
defaultInitCtx, gotDefault, myProps
-
インタフェース javax.naming.ldap.LdapContextから継承されたフィールド
CONTROL_FACTORIES
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 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)
このコンテキストで引き続き呼び出されるメソッドに要求コントロールを設定します。-
インタフェース javax.naming.Contextから継承されたメソッド
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
-
インタフェース javax.naming.directory.DirContextから継承されたメソッド
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
-
クラス javax.naming.InitialContextから継承されたメソッド
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
-
クラス javax.naming.directory.InitialDirContextから継承されたメソッド
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
-
-
-
-
コンストラクタの詳細
-
InitialLdapContext
public InitialLdapContext() throws NamingException
環境プロパティまたは接続要求コントロールを使用しないで、初期コンテキストを構築します。new InitialLdapContext(null, null)
と同等です。- 例外:
NamingException
- ネーミング例外が発生した場合
-
InitialLdapContext
public InitialLdapContext(Hashtable<?,?> environment, Control[] connCtls) throws NamingException
環境プロパティおよび接続要求コントロールを使用して、初期コンテキストを構築します。 環境プロパティについては、javax.naming.InitialContext
を参照してください。このコンストラクタでは、パラメータの変更または参照の保存は行われませんが、複製またはコピーが保存されます。 呼出し元は、
environment
がコンストラクタに渡されたあと、そこに含まれている可変のキーや値を変更してはいけません。connCtls
は、基となるコンテキスト・インスタンスの接続要求コントロールとして使用されます。 詳細については、クラスの説明を参照してください。- パラメータ:
environment
- 初期のDirContextを作成するために使用される環境。 nullは空の環境を示す。connCtls
- 初期コンテキストの接続要求コントロール。 nullの場合、接続要求コントロールは使用されない。- 例外:
NamingException
- ネーミング例外が発生した場合- 関連項目:
reconnect(javax.naming.ldap.Control[])
,LdapContext.reconnect(javax.naming.ldap.Control[])
-
-
メソッドの詳細
-
extendedOperation
public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException
インタフェースからコピーされた説明:LdapContext
拡張操作を実行します。 このメソッドを使用して、LDAPv3拡張操作をサポートします。- 定義:
extendedOperation
、インタフェース:LdapContext
- パラメータ:
request
- 実行されるnull以外の要求。- 戻り値:
- 操作のnullの可能性がある応答。nullは操作によって応答が生成されなかったを示す。
- 例外:
NamingException
- 拡張操作の実行中にエラーが発生した場合。
-
newInstance
public LdapContext newInstance(Control[] reqCtls) throws NamingException
インタフェースからコピーされた説明:LdapContext
このコンテキストの新しいインスタンスを要求コントロールを使って生成します。 このメソッドは、マルチ・スレッドのアクセスのためにこのコンテキスト・インスタンスを新たに作成する便利な手法です。 たとえば、複数のスレッドで異なるのコンテキスト要求コントロールを使用する場合は、スレッドごとにこのメソッドを使用して、コンテキストの独自のコピーの取得、およびコンテキスト要求コントロールの設定と取得を行うことができます。このとき、他のスレッドと同期化する必要はありません。新規コンテキストには、このコンテキストと同じ環境プロパティ、接続要求コントロールがあります。 詳細については、クラスについての記述を参照してください。 このコンテキストと新規コンテキストの間で、同じネットワーク接続またはその他のリソースを共有することもできます。ただし、各コンテキストの間で競合が発生する場合は、共有できません。
- 定義:
newInstance
、インタフェース:LdapContext
- パラメータ:
reqCtls
- 新しいコンテキストに使用するnullの可能性がある要求コントロール。 nullの場合は、要求コントロールを使用しないで初期化される。- 戻り値:
- null以外の
LdapContext
インスタンス。 - 例外:
NamingException
- 新しいインスタンスの作成中にエラーが発生した場合。- 関連項目:
InitialLdapContext
-
reconnect
public void reconnect(Control[] connCtls) throws NamingException
インタフェースからコピーされた説明:LdapContext
指定されたコントロールとこのコンテキスト環境を使ってLDAPサーバーに再接続します。このメソッドは、LDAPのバインド操作を明示的に初期化する方法です。 このメソッドを使って、LDAPバインド操作に要求コントロールを設定したり、またはその操作によって返される応答コントロールを取得するために明示的にサーバーに接続できます。
このメソッドは、このコンテキストの
connCtls
をその新しい接続要求コントロールとして設定します。 このコンテキストのコンテキスト要求コントロールは影響を受けません。 このメソッドが呼び出された後、以降の暗黙的な再接続はすべてconnCtls
を使用して実行されます。connCtls
はまた、このコンテキストから派生した新しいコンテキスト・インスタンスのための接続要求コントロールとしても使用されます。 これらの接続要求コントロールは、setRequestControls()
の影響を受けません。実装の詳細については、実装側であるサービス・プロバイダは、クラスの「サービス・プロバイダ」セクションをよく読んでください。
- 定義:
reconnect
、インタフェース:LdapContext
- パラメータ:
connCtls
- 使用するnullの可能性があるコントロール。 nullの場合、コントロールが使用されない。- 例外:
NamingException
- 再接続中にエラーが発生した場合。- 関連項目:
LdapContext.getConnectControls()
,LdapContext.newInstance(javax.naming.ldap.Control[])
-
getConnectControls
public Control[] getConnectControls() throws NamingException
インタフェースからコピーされた説明:LdapContext
このコンテキストに有効な接続要求コントロールを取得します。 コントロールは、JNDI実装が所有していて、不変です。 配列、コントロールのどちらも、呼出し側は変更できません。- 定義:
getConnectControls
、インタフェース:LdapContext
- 戻り値:
- コントロールのnullの可能性がある配列。nullは、このコンテキストに対して接続コントロールが設定されていないことを示す。
- 例外:
NamingException
- 要求コントロールの取得中にエラーが発生した場合。
-
setRequestControls
public void setRequestControls(Control[] requestControls) throws NamingException
インタフェースからコピーされた説明:LdapContext
このコンテキストで引き続き呼び出されるメソッドに要求コントロールを設定します。 この要求コントロールは、JNDI実装が所有していて、不変です。 配列、コントロールのどちらも、呼出し側は変更できません。これにより、以前の要求コントロールがすべて削除され、このコンテキストで呼び出される以降のメソッドが使用するための
requestControls
が追加されます。 このメソッドは、このコンテキストの接続要求コントロールには影響を与えません。requestControls
は、setRequestControls()
の次の呼び出しまで有効です。 これ以上コンテキスト・メソッドに影響を与えたくない場合は、null
または空の配列を使用してsetRequestControls()
を明示的に呼び出してコントロールを解除する必要があります。 このコンテキストに対してどのような要求コントロールが有効かを確認するには、getRequestControls()
を使用します。- 定義:
setRequestControls
、インタフェース:LdapContext
- パラメータ:
requestControls
- 使用するnullの可能性があるコントロール。 nullの場合、コントロールが使用されない。- 例外:
NamingException
- 要求コントロールの設定中にエラーが発生した場合。- 関連項目:
LdapContext.getRequestControls()
-
getRequestControls
public Control[] getRequestControls() throws NamingException
インタフェースからコピーされた説明:LdapContext
このコンテキストに有効な要求コントロールを取得します。 この要求コントロールは、JNDI実装が所有していて、不変です。 配列、コントロールのどちらも、呼出し側は変更できません。- 定義:
getRequestControls
、インタフェース:LdapContext
- 戻り値:
- コントロールのnullの可能性がある配列。nullは、このコンテキストに対して要求コントロールが設定されていないことを示す。
- 例外:
NamingException
- 要求コントロールの取得中にエラーが発生した場合。- 関連項目:
LdapContext.setRequestControls(javax.naming.ldap.Control[])
-
getResponseControls
public Control[] getResponseControls() throws NamingException
インタフェースからコピーされた説明:LdapContext
このコンテキストで最後に呼び出されたメソッドの結果として生成された応答コントロールを取得します。 この応答コントロールは、JNDI実装が所有していて、不変です。 配列、コントロールのどちらも、呼出し側は変更できません。これらの応答コントロールには、正常に終了した操作または失敗した操作によって生成されたものがあります。
応答コントロールを返す可能性のあるコンテキスト・メソッドが呼び出されると、以前のメソッド呼び出しからの応答コントロールがクリアされます。
getResponseControls()
は、コンテキスト・メソッドで使用されるLDAP操作によって生成されたすべての応答コントロールをLDAPサーバーから受信した順序で返します。getResponseControls()
を呼び出しても、応答コントロールはクリアされません。 コントロールを返すことができる次のコンテキスト・メソッドが呼び出されるまで何度でも呼び出したり、同じコントロールを戻したりすることが可能です。- 定義:
getResponseControls
、インタフェース:LdapContext
- 戻り値:
- nullの可能性があるコントロールの配列。 nullの場合、このコンテキストで呼び出された以前のメソッドはコントロールを生成していない。
- 例外:
NamingException
- 応答コントロールの取得中にエラーが発生した場合。
-
-