Класс 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. |
Поля, объявленные в классе BasicControl
criticality, id, value | Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
criticality |
Критичность элемента управления. |
protected String |
id |
Строка идентификатора объекта элемента управления. |
protected byte[] |
value |
Значение элемента управления, закодированное в формате ASN.1 BER. |
Поля, объявленные в интерфейсе Control
CRITICAL, NONCRITICAL | Модификатор и тип | Поле | Описание |
|---|---|---|
static final boolean |
CRITICAL |
Указывает на критический элемент управления. |
static final boolean |
NONCRITICAL |
Указывает на некритический элемент управления. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SortControl |
Создает элемент управления для сортировки списка атрибутов по возрастанию. |
SortControl |
Создает элемент управления для сортировки одного атрибута по возрастанию. |
SortControl |
Создает элемент управления для сортировки по списку ключей сортировки. |
Краткое описание методов
Методы, объявленные в классе BasicControl
getEncodedValue, getID, isCritical | Модификатор и тип | Метод | Описание |
|---|---|---|
byte[] |
getEncodedValue() |
Возвращает значение элемента управления, закодированное в формате ASN.1 BER. |
String |
getID() |
Возвращает строку идентификатора объекта элемента управления. |
boolean |
isCritical() |
Определяет критичность элемента управления. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Определяет, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать до пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать до пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
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, 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.