- java.lang.Object
-
- javax.naming.ldap.BasicControl
-
- javax.naming.ldap.SortControl
-
- 实现的所有接口
-
Serializable
,Control
public final class SortControl extends BasicControl
请求在返回之前由LDAP服务器对搜索操作的结果进行排序。 使用一个或多个排序键的有序列表以及关联的排序参数来指定排序标准。 搜索结果根据排序控件中提供的参数在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(); ...
此类实现了服务器端排序的LDAPv3请求控制,如RFC 2891中所定义。 控件的值具有以下ASN.1定义:
SortKeyList ::= SEQUENCE OF SEQUENCE { attributeType AttributeDescription, orderingRule [0] MatchingRuleId OPTIONAL, reverseOrder [1] BOOLEAN DEFAULT FALSE }
- 从以下版本开始:
- 1.5
- 另请参见:
-
SortKey
,SortResponseControl
, Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 static String
OID
服务器端排序控件的已分配对象标识符为1.2.840.113556.1.4.473。-
声明的属性在类 javax.naming.ldap.BasicControl
criticality, id, value
-
Fields declared in interface javax.naming.ldap.Control
CRITICAL, NONCRITICAL
-
-
构造方法摘要
构造方法 构造器 描述 SortControl(String[] sortBy, boolean criticality)
构造一个控件,以按升序对属性列表进行排序。SortControl(String sortBy, boolean criticality)
构造一个控件,以按升序对单个属性进行排序。SortControl(SortKey[] sortBy, boolean criticality)
构造一个控件以对排序键列表进行排序。
-
-
-
构造方法详细信息
-
SortControl
public SortControl(String sortBy, boolean criticality) throws IOException
构造一个控件,以按升序对单个属性进行排序。 将使用为指定属性定义的订购匹配规则执行排序。- 参数
-
sortBy
- 要排序的属性ID。 -
criticality
- 如果为true,则服务器必须criticality
该控件并返回按请求排序的搜索结果或拒绝执行搜索。 如果为false,则服务器不需要遵守控件。 - 异常
-
IOException
- 如果在将提供的参数编码到控件中时遇到错误。
-
SortControl
public SortControl(String[] sortBy, boolean criticality) throws IOException
构造一个控件,以按升序对属性列表进行排序。 将使用为每个指定属性定义的订购匹配规则执行排序。- 参数
-
sortBy
- 要排序的非空属性ID列表。 该列表按从最高到最低排序键优先顺序排列。 -
criticality
- 如果为true,则服务器必须criticality
该控件并返回按请求排序的搜索结果或拒绝执行搜索。 如果为false,则服务器不需要遵守控件。 - 异常
-
IOException
- 如果在将提供的参数编码到控件中时遇到错误。
-
SortControl
public SortControl(SortKey[] sortBy, boolean criticality) throws IOException
构造一个控件以对排序键列表进行排序。 每个排序键指定要使用的排序顺序和排序匹配规则。- 参数
-
sortBy
- 要排序的非空键列表。 该列表按从最高到最低排序键优先顺序排列。 -
criticality
- 如果为true,则服务器必须criticality
该控件并返回按请求排序的搜索结果或拒绝执行搜索。 如果为false,则服务器不需要遵守控件。 - 异常
-
IOException
- 如果在将提供的参数编码到控件中时遇到错误。
-
-