Spec-Zone.ru › OpenJDK 25

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

Поля, объявленные в классе BasicControl

criticality, id, value

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

CRITICAL, NONCRITICAL

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

Конструктор Описание
SortControl(String[] sortBy, boolean criticality)
Создает элемент управления для сортировки списка атрибутов по возрастанию.
SortControl(String sortBy, boolean criticality)
Создает элемент управления для сортировки одного атрибута по возрастанию.
SortControl(SortKey[] sortBy, boolean criticality)
Создает элемент управления для сортировки по списку ключей сортировки.

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

Методы, объявленные в классе BasicControl

getEncodedValue, getID, isCritical

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.naming/javax/naming/ldap/SortControl.html

Spec-Zone.ru

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