Класс 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
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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 |
Создает контроль для сортировки по списку атрибутов в порядке возрастания. |
SortControl |
Создаёт контроль для сортировки по одному атрибуту в порядке возрастания. |
SortControl |
Создаёт контроль для сортировки по списку ключей сортировки. |
Краткое описание методов
Методы, объявленные в классе javax.naming.ldap.BasicControl
getEncodedValue, getID, isCritical
Подробное описание полей
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, 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/SortControl.html