263 lines
14 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact3
</div>
<div class="subTitle">
javax.naming.ldap
</div>
<h2 class="title" title="Class SortControl">Class SortControl</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../javax/naming/ldap/BasicControl.html" title="class in javax.naming.ldap">javax.naming.ldap.BasicControl</a></li>
<li>
<ul class="inheritance">
<li>javax.naming.ldap.SortControl</li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../java/io/Serializable.html" title="java.io中的接口">Serializable</a> <a href="../../../javax/naming/ldap/Control.html" title="javax.naming.ldap中的接口">Control</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public final class <span class="typeNameLabel">SortControl</span>
extends <a href="../../../javax/naming/ldap/BasicControl.html" title="class in javax.naming.ldap">BasicControl</a></pre>
<div class="block">
<span>请求在返回之前由LDAP服务器对搜索操作的结果进行排序。</span>
<span>排序标准使用一个或多个排序键的排序列表和相关的排序参数进行指定。</span>
<span>搜索结果根据排序控制中提供的参数在LDAP服务器进行排序然后返回给请求者。</span>
<span>如果服务器不支持排序(并且排序控件被标记为关键),则不执行搜索操作,并返回错误。</span>
<p> <span>以下代码示例显示了如何使用类:</span> </p>
<pre> <span><code> // 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 &amp;&amp; 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 &lt; 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(); ... </code></span> </pre>
<p> <span>此类实现中定义为服务器端排序的LDAPv3的请求控制<a href="http://www.ietf.org/rfc/rfc2891.txt">RFC 2891</a></span> <span>控件的值具有以下ASN.1定义:</span> </p>
<pre> <span>SortKeyList ::= SEQUENCE OF SEQUENCE {
attributeType AttributeDescription,
orderingRule [0] MatchingRuleId OPTIONAL,
reverseOrder [1] BOOLEAN DEFAULT FALSE }</span> </pre>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/naming/ldap/SortKey.html" title="javax.naming.ldap中的类"><code>SortKey</code></a> <a href="../../../javax/naming/ldap/SortResponseControl.html" title="javax.naming.ldap中的类"><code>SortResponseControl</code></a> <a href="../../../serialized-form.html#javax.naming.ldap.SortControl">Serialized Form</a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/SortControl.html#OID">OID</a></span></code>
<div class="block">
服务器端排序控件的分配对象标识符为1.2.840.113556.1.4.473。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.naming.ldap.BasicControl">
<!-- --> </a> <h3>Fields inherited from class javax.naming.ldap.<a href="../../../javax/naming/ldap/BasicControl.html" title="class in javax.naming.ldap">BasicControl</a></h3> <code><a href="../../../javax/naming/ldap/BasicControl.html#criticality">criticality</a>, <a href="../../../javax/naming/ldap/BasicControl.html#id">id</a>, <a href="../../../javax/naming/ldap/BasicControl.html#value">value</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.naming.ldap.Control">
<!-- --> </a> <h3>Fields inherited from interface javax.naming.ldap.<a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a></h3> <code><a href="../../../javax/naming/ldap/Control.html#CRITICAL">CRITICAL</a>, <a href="../../../javax/naming/ldap/Control.html#NONCRITICAL">NONCRITICAL</a></code></li>
</ul> </li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/SortControl.html#SortControl-javax.naming.ldap.SortKey:A-boolean-">SortControl</a></span>(<a href="../../../javax/naming/ldap/SortKey.html" title="class in javax.naming.ldap">SortKey</a>[] sortBy, boolean criticality)</code>
<div class="block">
构造一个控件以对排序键列表进行排序。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/SortControl.html#SortControl-java.lang.String:A-boolean-">SortControl</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] sortBy, boolean criticality)</code>
<div class="block">
构造一个控件以按升序对属性列表进行排序。
</div> </td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/SortControl.html#SortControl-java.lang.String-boolean-">SortControl</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> sortBy, boolean criticality)</code>
<div class="block">
构造一个控件以按升序对单个属性进行排序。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.naming.ldap.BasicControl">
<!-- --> </a> <h3>Methods inherited from class javax.naming.ldap.<a href="../../../javax/naming/ldap/BasicControl.html" title="class in javax.naming.ldap">BasicControl</a></h3> <code><a href="../../../javax/naming/ldap/BasicControl.html#getEncodedValue--">getEncodedValue</a>, <a href="../../../javax/naming/ldap/BasicControl.html#getID--">getID</a>, <a href="../../../javax/naming/ldap/BasicControl.html#isCritical--">isCritical</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="OID">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>OID</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> OID</pre>
<div class="block">
服务器端排序控件的分配对象标识符为1.2.840.113556.1.4.473。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.naming.ldap.SortControl.OID">Constant Field Values</a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="SortControl-java.lang.String-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>SortControl</h4> <pre>public SortControl(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> sortBy,
boolean criticality)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>构造一个控件以按升序对单个属性进行排序。</span>
<span>将使用定义用于指定属性的排序匹配规则执行排序。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>sortBy</code> - 要排序的属性ID。
</dd>
<dd>
<span><code>criticality</code> - 如果为真,则服务器必须遵守控制并返回按要求排序的搜索结果或拒绝执行搜索。</span>
<span>如果是虚假的,那么服务器不需要尊重控制权。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果在将提供的参数编码到控件中时遇到错误。
</dd>
</dl> </li>
</ul> <a name="SortControl-java.lang.String:A-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>SortControl</h4> <pre>public SortControl(<a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] sortBy,
boolean criticality)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>构造一个控件以按升序对属性列表进行排序。</span>
<span>将使用为每个指定属性使用定义的排序匹配规则执行排序。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>sortBy</code> - 要排序的属性ID的非空列表。</span>
<span>列表按照从最高到最低排序关键字优先级的顺序。</span>
</dd>
<dd>
<span><code>criticality</code> - 如果为真,则服务器必须遵守控制并返回按请求排序的搜索结果或拒绝执行搜索。</span>
<span>如果是虚假的,那么服务器不需要尊重控制权。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果在将所提供的参数编码到控件中时遇到错误。
</dd>
</dl> </li>
</ul> <a name="SortControl-javax.naming.ldap.SortKey:A-boolean-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>SortControl</h4> <pre>public SortControl(<a href="../../../javax/naming/ldap/SortKey.html" title="class in javax.naming.ldap">SortKey</a>[] sortBy,
boolean criticality)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>构造一个控件以对排序键列表进行排序。</span>
<span>每个排序键指定要使用的排序顺序和排序匹配规则。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>sortBy</code> - 要排序的键的非空列表。</span>
<span>列表按照从最高到最低排序关键字优先级的顺序。</span>
</dd>
<dd>
<span><code>criticality</code> - 如果为真,则服务器必须遵守控制并返回按要求排序的搜索结果或拒绝执行搜索。</span>
<span>如果是虚假的,那么服务器不需要尊重控制权。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果在将提供的参数编码到控件中时遇到错误。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>