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(); ...
此类实现中定义为服务器端排序的LDAPv3的请求控制RFC 2891 。 控件的值具有以下ASN.1定义:
SortKeyList ::= SEQUENCE OF SEQUENCE {
attributeType AttributeDescription,
orderingRule [0] MatchingRuleId OPTIONAL,
reverseOrder [1] BOOLEAN DEFAULT FALSE }
SortKey
, SortResponseControl
, Serialized Form
Modifier and Type | Field and Description |
---|---|
static String |
OID
服务器端排序控件的分配对象标识符为1.2.840.113556.1.4.473。
|
criticality, id, value
CRITICAL, NONCRITICAL
Constructor and Description |
---|
SortControl(SortKey[] sortBy, boolean criticality)
构造一个控件以对排序键列表进行排序。
|
SortControl(String[] sortBy, boolean criticality)
构造一个控件以按升序对属性列表进行排序。
|
SortControl(String sortBy, boolean criticality)
构造一个控件以按升序对单个属性进行排序。
|
public static final String OID
public SortControl(String sortBy, boolean criticality) throws IOException
sortBy
- 要排序的属性ID。
criticality
- 如果为真,则服务器必须遵守控制并返回按要求排序的搜索结果或拒绝执行搜索。
如果是虚假的,那么服务器不需要尊重控制权。
IOException
- 如果在将提供的参数编码到控件中时遇到错误。
public SortControl(String[] sortBy, boolean criticality) throws IOException
sortBy
- 要排序的属性ID的非空列表。
列表按照从最高到最低排序关键字优先级的顺序。
criticality
- 如果为真,则服务器必须遵守控制并返回按请求排序的搜索结果或拒绝执行搜索。
如果是虚假的,那么服务器不需要尊重控制权。
IOException
- 如果在将所提供的参数编码到控件中时遇到错误。
public SortControl(SortKey[] sortBy, boolean criticality) throws IOException
sortBy
- 要排序的键的非空列表。
列表按照从最高到最低排序关键字优先级的顺序。
criticality
- 如果为真,则服务器必须遵守控制并返回按要求排序的搜索结果或拒绝执行搜索。
如果是虚假的,那么服务器不需要尊重控制权。
IOException
- 如果在将提供的参数编码到控件中时遇到错误。