Класс PagedResultsControl
- Все реализуемые интерфейсы:
Serializable, Control
public final class PagedResultsControl extends BasicControl
В следующем примере кода показано, как можно использовать этот класс:
// 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();
...
Этот класс реализует элемент управления LDAPv3 для постраничной выдачи результатов, определённый в RFC 2696. Значение элемента управления имеет следующее определение ASN.1:
realSearchControlValue ::= SEQUENCE {
size INTEGER (0..maxInt),
-- requested page size from client
-- result set size estimate from server
cookie OCTET STRING
}
- Начиная с:
- 1.5
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
OID |
Присвоенный идентификатор объекта элемента управления постраничной выдачей результатов: 1.2.840.113556.1.4.319. |
Поля, объявленные в классе BasicControl
criticality, id, value
Поля, объявленные в интерфейсе Control
CRITICAL, NONCRITICAL
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PagedResultsControl |
Создаёт элемент управления, задающий число записей, возвращаемых на одну страницу результатов. |
PagedResultsControl |
Создаёт элемент управления, задающий число записей, возвращаемых на одну страницу результатов. |
Краткое описание методов
Методы, объявленные в классе BasicControl
getEncodedValue, getID, isCritical
Подробное описание полей
OID
public static final String OID
- См. также:
Подробное описание конструкторов
PagedResultsControl
public PagedResultsControl(int pageSize, boolean criticality) throws IOException
- Параметры:
-
pageSize— число записей, возвращаемых на одной странице. -
criticality— если значение равно true, сервер обязан обработать элемент управления и вернуть результаты поиска в соответствии с pageSize либо отказаться от выполнения поиска. Если значение равно false, сервер не обязан обрабатывать элемент управления. - Исключения:
-
IOException— если при кодировании переданных аргументов в элемент управления произошла ошибка.
PagedResultsControl
public PagedResultsControl(int pageSize, byte[] cookie, boolean criticality) throws IOException
Последовательность запросов с постраничной выдачей результатов можно прервать, установив pageSize в ноль и задав cookie, равный последнему cookie, полученному от сервера.
- Параметры:
-
pageSize— число записей, возвращаемых на одной странице. -
cookie— возможно, null; cookie, созданный сервером. -
criticality— если значение равно true, сервер обязан обработать элемент управления и вернуть результаты поиска в соответствии с pageSize либо отказаться от выполнения поиска. Если значение равно false, сервер не обязан обрабатывать элемент управления. - Исключения:
-
IOException— если при кодировании переданных аргументов в элемент управления произошла ошибка.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.naming/javax/naming/ldap/PagedResultsControl.html