Spec-Zone.ru › OpenJDK 17

Класс SortControl

java.lang.Object
javax.naming.ldap.BasicControl
javax.naming.ldap.SortControl
Все реализуемые интерфейсы:
Serializable, Control
public final class SortControl extends BasicControl
Запрашивает, чтобы результаты операции поиска были отсортированы сервером LDAP перед возвращением. Критерии сортировки задаются с помощью упорядоченного списка одного или нескольких ключей сортировки с соответствующими параметрами сортировки. Результаты поиска сортируются на сервере LDAP в соответствии с параметрами, предоставленными в элементе управления сортировкой, и затем возвращаются запрашивающему. Если сортировка не поддерживается на сервере (и элемент управления сортировкой помечен как критический), то операция поиска не выполняется, и возвращается ошибка.

Следующий пример кода демонстрирует, как можно использовать этот класс:



     // Open an LDAP association
     LdapContext ctx = new InitialLdapContext();

     // Activate sorting
     String sortKey = "cn";
     ctx.setRequestControls(new Control[]{
         new SortControl(sortKey, Control.CRITICAL) });

     // Perform a search
     NamingEnumeration results =
         ctx.search("", "(objectclass=*)", new SearchControls());

     // Iterate over 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 sort control response
     Control[] controls = ctx.getResponseControls();
     if (controls != null) {
         for (int i = 0; i < controls.length; i++) {
             if (controls[i] instanceof SortResponseControl) {
                 SortResponseControl src = (SortResponseControl)controls[i];
                 if (! src.isSorted()) {
                     throw src.getException();
                 }
             } else {
                 // Handle other response controls (if any)
             }
         }
     }

     // Close the LDAP association
     ctx.close();
     ...

 

Этот класс реализует элемент управления запросом LDAPv3 для сортировки на стороне сервера, как определено в RFC 2891. Значение элемента управления имеет следующее определение ASN.1:


     SortKeyList ::= SEQUENCE OF SEQUENCE {
         attributeType     AttributeDescription,
         orderingRule  [0] MatchingRuleId OPTIONAL,
         reverseOrder  [1] BOOLEAN DEFAULT FALSE }

 
С тех пор:
1.5
См. также:
  • SortKey
  • SortResponseControl
  • Сериализованная форма

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

Модификатор и тип Поле Описание
static final String OID
Присвоенный объект идентификатор элемента управления сортировкой на стороне сервера — 1.2.840.113556.1.4.473.

Поля, объявленные в классе javax.naming.ldap.BasicControl

criticality, id, value

Поля, объявленные в интерфейсе javax.naming.ldap.Control

CRITICAL, NONCRITICAL

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

Конструктор Описание
SortControl(String[] sortBy, boolean criticality)
Создает элемент управления для сортировки по списку атрибутов в порядке возрастания.
SortControl(String sortBy, boolean criticality)
Создает элемент управления для сортировки по одному атрибуту в порядке возрастания.
SortControl(SortKey[] sortBy, 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.473.
См. также:
  • Значения константных полей

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

SortControl

public SortControl(String sortBy, boolean criticality) throws IOException
Создает элемент управления для сортировки по одному атрибуту в порядке возрастания. Сортировка будет выполнена с использованием правила сопоставления упорядочения, определенного для использования с указанным атрибутом.
Параметры:
sortBy - Идентификатор атрибута для сортировки.
criticality - Если true, сервер должен выполнить элемент управления и вернуть результаты поиска, отсортированные в соответствии с запросом, или отклонить выполнение поиска. Если false, сервер не обязан выполнять элемент управления.
Исключения:
IOException - Если при кодировании предоставленных аргументов в элемент управления возникла ошибка.

SortControl

public SortControl(String[] sortBy, boolean criticality) throws IOException
Создает элемент управления для сортировки по списку атрибутов в порядке возрастания. Сортировка будет выполнена с использованием правила сопоставления упорядочения, определенного для использования с каждым из указанных атрибутов.
Параметры:
sortBy - Непустой список идентификаторов атрибутов для сортировки. Список упорядочен в порядке приоритета ключа сортировки от наивысшего к наименьшему.
criticality - Если true, сервер должен выполнить элемент управления и вернуть результаты поиска, отсортированные в соответствии с запросом, или отклонить выполнение поиска. Если false, сервер не обязан выполнять элемент управления.
Исключения:
IOException - Если при кодировании предоставленных аргументов в элемент управления возникла ошибка.

SortControl

public SortControl(SortKey[] sortBy, boolean criticality) throws IOException
Создает элемент управления для сортировки по списку ключей сортировки. Каждый ключ сортировки указывает порядок сортировки и правило сопоставления упорядочения для использования.
Параметры:
sortBy - Непустой список ключей для сортировки. Список упорядочен в порядке приоритета ключа сортировки от наивысшего к наименьшему.
criticality - Если true, сервер должен выполнить элемент управления и вернуть результаты поиска, отсортированные в соответствии с запросом, или отклонить выполнение поиска. Если false, сервер не обязан выполнять элемент управления.
Исключения:
IOException - Если при кодировании предоставленных аргументов в элемент управления возникла ошибка.

© 1993, 2021, 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/17/docs/api/java.naming/javax/naming/ldap/SortControl.html

Spec-Zone.ru

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