uTools-Manuals/docs/java/javax/naming/ldap/PagedResultsControl.html

226 lines
12 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 PagedResultsControl">Class PagedResultsControl</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.PagedResultsControl</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">PagedResultsControl</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>
<p> <span>以下代码示例显示了如何使用类:</span> </p>
<pre> <span><code> // Open an LDAP association LdapContext ctx = new InitialLdapContext(); // Activate paged results int pageSize = 20; // 20 entries per page byte[] cookie = null; int total; ctx.setRequestControls(new Control[]{ new PagedResultsControl(pageSize, Control.CRITICAL) }); do { // Perform the search NamingEnumeration results = ctx.search("", "(objectclass=*)", new SearchControls()); // Iterate over a batch of 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 paged results control response Control[] controls = ctx.getResponseControls(); if (controls != null) { for (int i = 0; i &lt; controls.length; i++) { if (controls[i] instanceof PagedResultsResponseControl) { PagedResultsResponseControl prrc = (PagedResultsResponseControl)controls[i]; total = prrc.getResultSize(); cookie = prrc.getCookie(); } else { // Handle other response controls (if any) } } } // Re-activate paged results ctx.setRequestControls(new Control[]{ new PagedResultsControl(pageSize, cookie, Control.CRITICAL) }); } while (cookie != null); // Close the LDAP association ctx.close(); ... </code></span> </pre>
<p> <span>此类实现中定义为分页结果的LDAPv3的控制<a href="http://www.ietf.org/rfc/rfc2696.txt">RFC 2696</a></span> <span>控件的值具有以下ASN.1定义:</span> </p>
<pre> <span><code> realSearchControlValue ::= SEQUENCE { size INTEGER (0..maxInt), -- requested page size from client -- result set size estimate from server cookie OCTET STRING } </code></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/PagedResultsResponseControl.html" title="javax.naming.ldap中的类"><code>PagedResultsResponseControl</code></a> <a href="../../../serialized-form.html#javax.naming.ldap.PagedResultsControl">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/PagedResultsControl.html#OID">OID</a></span></code>
<div class="block">
分页结果控件的分配对象标识符为1.2.840.113556.1.4.319。
</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/PagedResultsControl.html#PagedResultsControl-int-boolean-">PagedResultsControl</a></span>(int pageSize, boolean criticality)</code>
<div class="block">
构造一个控件以设置每页结果返回的条目数。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/PagedResultsControl.html#PagedResultsControl-int-byte:A-boolean-">PagedResultsControl</a></span>(int pageSize, byte[] cookie, 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.319。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.naming.ldap.PagedResultsControl.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="PagedResultsControl-int-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>PagedResultsControl</h4> <pre>public PagedResultsControl(int pageSize,
boolean criticality)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
构造一个控件以设置每页结果返回的条目数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>pageSize</code> - 页面中要返回的条目数。
</dd>
<dd>
<span><code>criticality</code> - 如果为true则服务器必须遵守由pageSize所指示的控制并返回搜索结果否则拒绝执行搜索。</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="PagedResultsControl-int-byte:A-boolean-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>PagedResultsControl</h4> <pre>public PagedResultsControl(int pageSize,
byte[] cookie,
boolean criticality)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<span>构造一个控件以设置每页结果返回的条目数。</span>
<span>cookie由服务器提供可以从分页结果响应控件获取。</span>
<p> <span>通过将pageSize设置为零并将cookie设置为从服务器接收的最后一个cookie可以放弃一系列分页结果。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>pageSize</code> - 页面返回的条目数。
</dd>
<dd>
<code>cookie</code> - 可能为空的服务器生成的cookie。
</dd>
<dd>
<span><code>criticality</code> - 如果为true则服务器必须遵守由pageSize所指示的控制和返回搜索结果否则拒绝执行搜索。</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>