|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.naming.ldap.BasicControl javax.naming.ldap.PagedResultsControl
public final class PagedResultsControl
請求由 LDAP 伺服器以指定的大小批量返回搜尋操作的結果。請求方根據搜尋操作調用率控制批量返回率。
以下程式碼範例展示了使用該類別的方式:
// 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 && 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 < 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(); ...
此類別實作在 RFC 2696 中定義的分頁結果的 LDAPv3 控制元件。 控制元件值具有以下 ASN.1 定義:
realSearchControlValue ::= SEQUENCE { size INTEGER (0..maxInt), -- requested page size from client -- result set size estimate from server cookie OCTET STRING }
PagedResultsResponseControl
,
序列化表格欄位摘要 | |
---|---|
static String |
OID
分頁結果控制元件的分派物件標識符為 1.2.840.113556.1.4.319。 |
從類別 javax.naming.ldap.BasicControl 繼承的欄位 |
---|
criticality, id, value |
從介面 javax.naming.ldap.Control 繼承的欄位 |
---|
CRITICAL, NONCRITICAL |
建構子摘要 | |
---|---|
PagedResultsControl(int pageSize,
boolean criticality)
建構一個控制元件來設置要在每頁結果中返回的項數。 |
|
PagedResultsControl(int pageSize,
byte[] cookie,
boolean criticality)
建構一個控制元件來設置要在每頁結果中返回的項數。 |
方法摘要 |
---|
從類別 javax.naming.ldap.BasicControl 繼承的方法 |
---|
getEncodedValue, getID, isCritical |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final String OID
建構子詳細資訊 |
---|
public PagedResultsControl(int pageSize, boolean criticality) throws IOException
pageSize
- 要在一個頁面中返回的項數。criticality
- 如果為 true,則伺服器必須遵從控制元件,按照 pageSize 的指示返回搜尋結果或拒絕執行搜尋。如果為 false,則伺服器不必遵從控制元件。
IOException
- 如果在將提供的參數編碼到控制元件中時遇到錯誤。public PagedResultsControl(int pageSize, byte[] cookie, boolean criticality) throws IOException
通過將 pageSize 設置為零並將 cookie 設置為從伺服器收到的最後一個 cookie,可以放棄分頁結果序列。
pageSize
- 要在一個頁面中返回的項數。cookie
- 伺服器產生的 cookie(可能為 null)。criticality
- 如果為 true,則伺服器必須遵從控制元件,按照 pageSize 的指示返回搜尋結果或拒絕執行搜尋。如果為 false,則伺服器不必遵從控制元件。
IOException
- 如果在將提供的參數編碼到控制元件中時遇到錯誤。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。