Spec-Zone.ru › OpenJDK 27

Класс PagedResultsControl

java.lang.Object
javax.naming.ldap.BasicControl
javax.naming.ldap.PagedResultsControl
Все реализованные интерфейсы:
Serializable, Control
public final class PagedResultsControl extends BasicControl
Запрашивает у 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();
    ...

 

Этот класс реализует элемент управления 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
См. также:
  • PagedResultsResponseControl
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
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(int pageSize, boolean criticality)
Создает элемент управления для задания количества записей, возвращаемых на страницу результатов.
PagedResultsControl(int pageSize, byte[] cookie, boolean criticality)
Создает элемент управления для задания количества записей, возвращаемых на страницу результатов.

Краткое описание методов

Методы, объявленные в классе 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(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения определенного промежутка реального времени.

Подробное описание полей

OID

public static final String OID
Назначенный идентификатор объекта элемента управления постраничными результатами — 1.2.840.113556.1.4.319.
См. также:
  • Значения констант полей

Подробное описание конструкторов

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
Создает элемент управления для задания количества записей, возвращаемых на страницу результатов. Cookie предоставляется сервером и может быть получен из элемента управления ответом с постраничными результатами.

Последовательность постраничных результатов можно прервать, задав для pageSize значение ноль, а для cookie — последнее значение cookie, полученное от сервера.

Параметры:
pageSize — количество записей, возвращаемых на страницу.
cookie — возможно, равный null cookie, сгенерированный сервером.
criticality — если значение равно true, сервер обязан обработать элемент управления и вернуть результаты поиска в соответствии с pageSize либо отказаться выполнять поиск. Если значение равно false, сервер не обязан обрабатывать элемент управления.
Исключения:
IOException — если при кодировании переданных аргументов в элемент управления произошла ошибка.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API