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

クラスSortControl

java.lang.Object
javax.naming.ldap.BasicControl
javax.naming.ldap.SortControl
すべての実装されたインタフェース:
Serializable, Control

public final class SortControl extends BasicControl
検索操作の結果をソートしてから返すようにLDAPサーバーに要求します。 ソート条件は、1つ以上のソート・キーとそのソート・パラメータを順に並べたリストで指定します。 検索結果は、ソート・コントロールで指定されたパラメータに従ってLDAPサーバーでソートされ、要求者に返されます。 サーバーがソート機能をサポートしていない場合、ソート・コントロールがクリティカルとマークされているときは、検索操作は実行されず、エラーが返されます。

このクラスの使用方法を示すコーディング例を次に示します。



     // Open an LDAP association
     LdapContext ctx = new InitialLdapContext();

     // Activate sorting
     String sortKey = "cn";
     ctx.setRequestControls(new Control[]{
         new SortControl(sortKey, Control.CRITICAL) });

     // Perform a search
     NamingEnumeration results =
         ctx.search("", "(objectclass=*)", new SearchControls());

     // Iterate over search results
     while (results != null && results.hasMore()) {
         // Display an entry
         SearchResult entry = (SearchResult)results.next();
         System.out.println(entry.getName());
         System.out.println(entry.getAttributes());

         // Handle the entry's response controls (if any)
         if (entry instanceof HasControls) {
             // ((HasControls)entry).getControls();
         }
     }
     // Examine the sort control response
     Control[] controls = ctx.getResponseControls();
     if (controls != null) {
         for (int i = 0; i < controls.length; i++) {
             if (controls[i] instanceof SortResponseControl) {
                 SortResponseControl src = (SortResponseControl)controls[i];
                 if (! src.isSorted()) {
                     throw src.getException();
                 }
             } else {
                 // Handle other response controls (if any)
             }
         }
     }

     // Close the LDAP association
     ctx.close();
     ...

 

このクラスは、RFC 2891で定義されているサーバー側でのソートのLDAPv3要求コントロールを実装します。 このコントロールの値のASN.1定義は次のとおりです。


     SortKeyList ::= SEQUENCE OF SEQUENCE {
         attributeType     AttributeDescription,
         orderingRule  [0] MatchingRuleId OPTIONAL,
         reverseOrder  [1] BOOLEAN DEFAULT FALSE }

 

導入されたバージョン:
1.5
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final String
    サーバー側でのソートのコントロールに割り当てられているオブジェクト識別子は1.2.840.113556.1.4.473です。

    クラス javax.naming.ldap.BasicControlで宣言されたフィールド

    criticality, id, value

    インタフェース javax.naming.ldap.Controlで宣言されたフィールド

    CRITICAL, NONCRITICAL
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    SortControl(String[] sortBy, boolean criticality)
    属性のリストに基づいて昇順にソートするためのコントロールを構築します。
    SortControl(String sortBy, boolean criticality)
    1つの属性に基づいて昇順にソートするためのコントロールを構築します。
    SortControl(SortKey[] sortBy, boolean criticality)
    ソート・キーのリストに基づいてソートするためのコントロールを構築します。
  • メソッドのサマリー

    クラス javax.naming.ldap.BasicControlで宣言されたメソッド

    getEncodedValue, getID, isCritical

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • OID

      public static final String OID
      サーバー側でのソートのコントロールに割り当てられているオブジェクト識別子は1.2.840.113556.1.4.473です。
      関連項目:
  • コンストラクタの詳細

    • SortControl

      public SortControl(String sortBy, boolean criticality) throws IOException
      1つの属性に基づいて昇順にソートするためのコントロールを構築します。 ソートの実行には、その属性に定義されている順序付けマッチング規則が使用されます。
      パラメータ:
      sortBy - ソートの基準となる属性のID。
      criticality - trueの場合、サーバーはこのコントロールに従い、要求されたとおりにソートされた検索結果を返すか、または検索の実行を拒否する必要がある。 falseの場合、サーバーはこのコントロールに従う必要はない。
      例外:
      IOException - 指定された引数のコントロールへのエンコード中にエラーが検出された場合。
    • SortControl

      public SortControl(String[] sortBy, boolean criticality) throws IOException
      属性のリストに基づいて昇順にソートするためのコントロールを構築します。 ソートの実行には、指定された各属性に定義されている順序付けマッチング規則が使用されます。
      パラメータ:
      sortBy - ソートの基準となる属性のIDのリスト。nullは不可。 これらのソート・キーは、優先順位の高いものから順にリストに並べられる。
      criticality - trueの場合、サーバーはこのコントロールに従い、要求されたとおりにソートされた検索結果を返すか、または検索の実行を拒否する必要がある。 falseの場合、サーバーはこのコントロールに従う必要はない。
      例外:
      IOException - 指定された引数のコントロールへのエンコード中にエラーが検出された場合。
    • SortControl

      public SortControl(SortKey[] sortBy, boolean criticality) throws IOException
      ソート・キーのリストに基づいてソートするためのコントロールを構築します。 各ソート・キーは、ソート順序および使用する順序付けマッチング規則を指定します。
      パラメータ:
      sortBy - ソートの基準となるキーのリスト。nullは不可。 これらのソート・キーは、優先順位の高いものから順にリストに並べられる。
      criticality - trueの場合、サーバーはこのコントロールに従い、要求されたとおりにソートされた検索結果を返すか、または検索の実行を拒否する必要がある。 falseの場合、サーバーはこのコントロールに従う必要はない。
      例外:
      IOException - 指定された引数のコントロールへのエンコード中にエラーが検出された場合。