JavaTM Platform
Standard Ed. 6

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
関連項目:
SortKey, SortResponseControl, 直列化された形式

フィールドの概要
static String OID
          サーバー側でのソートのコントロールに割り当てられているオブジェクト識別子は 1.2.840.113556.1.4.473 です。
 
クラス javax.naming.ldap.BasicControl から継承されたフィールド
criticality, id, value
 
インタフェース javax.naming.ldap.Control から継承されたフィールド
CRITICAL, NONCRITICAL
 
コンストラクタの概要
SortControl(SortKey[] sortBy, boolean criticality)
          ソートキーのリストに基づいてソートするためのコントロールを構築します。
SortControl(String[] sortBy, boolean criticality)
          属性のリストに基づいて昇順にソートするためのコントロールを構築します。
SortControl(String sortBy, boolean criticality)
          1 つの属性に基づいて昇順にソートするためのコントロールを構築します。
 
メソッドの概要
 
クラス 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 - 指定された引数を符号化してコントロールを構築するときに エラーが発生した場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。