Spec-Zone.ru › OpenJDK 8

Класс 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 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

Поля

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 - Если при кодировании предоставленных аргументов в управление возникла ошибка.

© 1993, 2020, 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