public final class SortControl extends BasicControl
このクラスの使用方法を示すコーディング例を次に示します。
// 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 }
SortKey
, SortResponseControl
, 直列化された形式修飾子と型 | フィールドと説明 |
---|---|
static String |
OID
サーバー側でのソートのコントロールに割り当てられているオブジェクト識別子は1.2.840.113556.1.4.473です。
|
criticality, id, value
CRITICAL, NONCRITICAL
コンストラクタと説明 |
---|
SortControl(SortKey[] sortBy, boolean criticality)
ソート・キーのリストに基づいてソートするためのコントロールを構築します。
|
SortControl(String[] sortBy, boolean criticality)
属性のリストに基づいて昇順にソートするためのコントロールを構築します。
|
SortControl(String sortBy, boolean criticality)
1つの属性に基づいて昇順にソートするためのコントロールを構築します。
|
public SortControl(String sortBy, boolean criticality) throws IOException
sortBy
- ソートの基準となる属性のID。criticality
- trueの場合、サーバーはこのコントロールに従い、要求されたとおりにソートされた検索結果を返すか、または検索の実行を拒否する必要がある。falseの場合、サーバーはこのコントロールに従う必要はない。IOException
- 指定された引数のコントロールへのエンコード中にエラーが検出された場合。public SortControl(String[] sortBy, boolean criticality) throws IOException
sortBy
- ソートの基準となる属性のIDのリスト。nullは不可。これらのソート・キーは、優先順位の高いものから順にリストに並べられる。criticality
- trueの場合、サーバーはこのコントロールに従い、要求されたとおりにソートされた検索結果を返すか、または検索の実行を拒否する必要がある。falseの場合、サーバーはこのコントロールに従う必要はない。IOException
- 指定された引数のコントロールへのエンコード中にエラーが検出された場合。public SortControl(SortKey[] sortBy, boolean criticality) throws IOException
sortBy
- ソートの基準となるキーのリスト。nullは不可。これらのソート・キーは、優先順位の高いものから順にリストに並べられる。criticality
- trueの場合、サーバーはこのコントロールに従い、要求されたとおりにソートされた検索結果を返すか、または検索の実行を拒否する必要がある。falseの場合、サーバーはこのコントロールに従う必要はない。IOException
- 指定された引数のコントロールへのエンコード中にエラーが検出された場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.