Spec-Zone.ru › OpenJDK 24

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

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

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

Параметры:
pageSize - Количество записей, возвращаемых на странице.
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://download.java.net/java/early_access/jdk24/docs/api/java.naming/javax/naming/ldap/PagedResultsControl.html

Spec-Zone.ru

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