モジュール java.naming
パッケージ javax.naming.ldap

クラスInitialLdapContext

  • すべての実装されたインタフェース:
    Context, DirContext, LdapContext

    public class InitialLdapContext
    extends InitialDirContext
    implements LdapContext
    このクラスは、LDAPv3スタイルの拡張操作および拡張コントロールを実行するための開始コンテキストです。

    同期に関する詳細、初期コンテキストの作成方針については、javax.naming.InitialContextおよびjavax.naming.InitialDirContextを参照してください。

    RequestControls

    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のクラスの説明にある「サービス・プロバイダ」のセクションを参照するようにしてください。

    導入されたバージョン:
    1.3
    関連項目:
    LdapContext, InitialContext, InitialDirContext, NamingManager.setInitialContextFactoryBuilder(javax.naming.spi.InitialContextFactoryBuilder)
    • コンストラクタの詳細

      • 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 - ネーミング例外が発生した場合
        関連項目:
        LdapContext.reconnect(javax.naming.ldap.Control[]), LdapContext.reconnect(javax.naming.ldap.Control[])