Класс 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 | Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
criticality |
Критичность элемента управления. |
protected String |
id |
Строка идентификатора объекта элемента управления. |
protected byte[] |
value |
Значение элемента управления в кодировке ASN.1 BER. |
Поля, объявленные в интерфейсе Control
CRITICAL, NONCRITICAL | Модификатор и тип | Поле | Описание |
|---|---|---|
static final boolean |
CRITICAL |
Указывает на критичный элемент управления. |
static final boolean |
NONCRITICAL |
Указывает на некритичный элемент управления. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PagedResultsControl |
Создает элемент управления для задания количества записей, возвращаемых на страницу результатов. |
PagedResultsControl |
Создает элемент управления для задания количества записей, возвращаемых на страницу результатов. |
Краткое описание методов
Методы, объявленные в классе BasicControl
getEncodedValue, getID, isCritical | Модификатор и тип | Метод | Описание |
|---|---|---|
byte[] |
getEncodedValue() |
Возвращает значение элемента управления в кодировке ASN.1 BER. |
String |
getID() |
Возвращает строку идентификатора объекта элемента управления. |
boolean |
isCritical() |
Определяет критичность элемента управления. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения определенного промежутка реального времени. |
Подробное описание полей
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.