Spec-Zone.ru › OpenJDK 21

Класс LdapName

java.lang.Object
javax.naming.ldap.LdapName
Все реализуемые интерфейсы:
Serializable, Cloneable, Comparable<Object>, Name
public class LdapName extends Object implements Name
Этот класс представляет собой имя, указанное в RFC 2253. Имя, или DN (Distinguished Name), состоит из упорядоченного списка компонентов, называемых относительными именами, или RDN. Подробности синтаксиса DN описаны в RFC 2253.

Этот класс устраняет некоторые неоднозначности, обнаруженные в RFC 2253, следующим образом:

  • RFC 2253 не определяет термин "пробелы". Вместо этого используется ASCII-пробел 0x20 (" ").
  • Пробелы допускаются по обе стороны от ',', ';', '=', и '+'. Такие пробелы принимаются, но не генерируются этим кодом и игнорируются при сравнении имён.
  • Строки AttributeValue, содержащие '=' или не ведущие '#' символы (неэкранированные), принимаются.

Строковые имена, передаваемые в LdapName или возвращаемые им, используют полный набор символов Unicode. Они также могут содержать символы, закодированные в UTF-8, с каждым байтом, представленным подстрокой из трех символов, например, "\\B4". Однако они не могут содержать символы, закодированные в UTF-8, с каждым байтом, представленным одним символом в строке: смысл был бы неоднозначным.

LdapName правильно проанализирует все допустимые имена, но не пытается обнаружить все возможные нарушения при анализе недопустимых имён. Он "щедр" в приёме недопустимых имён. "Допустимость" имени определяется в конечном счёте при передаче его LDAP-серверу, который может принять или отклонить имя на основе таких факторов, как информация его схемы и соображения по межсетевому взаимодействию.

При сравнении имён типы атрибутов, как бинарные, так и строковые значения, не чувствительны к регистру. Строковые значения с различными, но эквивалентными способами использования кавычек, экранирования или кодирования UTF8-шестнадцатеричными символами считаются равными. Порядок компонентов в многозначных RDN (например, "ou=Sales+cn=Bob") не имеет значения.

Компоненты имени LDAP, то есть RDN, пронумерованы. Индексы имени LDAP с n RDN варьируются от 0 до n-1. Этот диапазон может быть записан как [0, n). Самый правый RDN находится на индексе 0, а самый левый RDN находится на индексе n-1. Например, имя: "CN=Steve Kille, O=Isode Limited, C=GB" пронумеровано в следующем порядке, изменяющемся от 0 до 2: {C=GB, O=Isode Limited, CN=Steve Kille}. Пустое имя LDAP представлено пустым списком RDN.

Одновременный многопоточный доступ для чтения к экземпляру LdapName не требует синхронизации.

За исключением случаев, когда отмечено иное, поведение при передаче null-аргумента в конструктор или метод в этом классе приведёт к исключению NullPointerException.

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

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

Конструктор Описание
LdapName(String name)
Конструирует имя LDAP из заданного имени.
LdapName(List<Rdn> rdns)
Конструирует имя LDAP, исходя из его распарсенных компонентов RDN.

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

Модификатор и тип Метод Описание
Name add(int posn, String comp)
Добавляет один компонент в заданную позицию внутри этого имени LDAP.
Name add(int posn, Rdn comp)
Добавляет один RDN в заданную позицию внутри этого имени LDAP.
Name add(String comp)
Добавляет один компонент в конец этого имени LDAP.
Name add(Rdn comp)
Добавляет один RDN в конец этого имени LDAP.
Name addAll(int posn, List<Rdn> suffixRdns)
Добавляет RDN из имени -- в порядке -- в заданную позицию этого имени.
Name addAll(int posn, Name suffix)
Добавляет компоненты из имени -- в порядке -- в заданную позицию этого имени.
Name addAll(List<Rdn> suffixRdns)
Добавляет RDN из имени -- в порядке -- в конец этого имени.
Name addAll(Name suffix)
Добавляет компоненты из имени -- в порядке -- в конец этого имени.
Object clone()
Создаёт новую копию этого имени.
int compareTo(Object obj)
Сравнивает это LdapName с указанным объектом для определения порядка.
boolean endsWith(List<Rdn> rdns)
Определяет, образует ли указанная последовательность RDN суффикс этого имени LDAP.
boolean endsWith(Name n)
Определяет, заканчивается ли это имя LDAP указанным суффиксом имени LDAP.
boolean equals(Object obj)
Определяет, равны ли два имени LDAP.
String get(int posn)
Возвращает компонент этого имени LDAP в виде строки.
Enumeration<String> getAll()
Возвращает компоненты этого имени в виде перечисления строк.
Name getPrefix(int posn)
Создаёт имя, компоненты которого представляют собой префикс компонентов этого имени LDAP.
Rdn getRdn(int posn)
Возвращает RDN этого имени LDAP в виде Rdn.
List<Rdn> getRdns()
Возвращает список относительных имён.
Name getSuffix(int posn)
Создаёт имя, компоненты которого составляют суффикс компонентов в этом имени LDAP.
int hashCode()
Вычисляет хэш-код этого имени LDAP.
boolean isEmpty()
Определяет, является ли это имя LDAP пустым.
Object remove(int posn)
Удаляет компонент из этого имени LDAP.
int size()
Возвращает количество компонентов в этом имени LDAP.
boolean startsWith(List<Rdn> rdns)
Определяет, образует ли указанная последовательность RDN префикс этого имени LDAP.
boolean startsWith(Name n)
Определяет, начинается ли это имя LDAP с указанного префикса имени LDAP.
String toString()
Возвращает строковое представление этого имени LDAP в формате, определённом в RFC 2253 и описанном в описании класса.

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

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

LdapName

public LdapName(String name) throws InvalidNameException
Создаёт имя LDAP из указанного отличительного имени.
Параметры:
name - Это непустое отличительное имя, отформатированное в соответствии с правилами, определёнными в RFC 2253.
Исключения:
InvalidNameException - если обнаружено нарушение синтаксиса.
См. также:
  • Rdn.escapeValue(Object value)

LdapName

public LdapName(List<Rdn> rdns)
Создаёт имя LDAP, используя его разобранные компоненты RDN.

Индексация RDN в списке соответствует нумерации RDN, описанной в описании класса.

Параметры:
rdns - Непустой список Rdn, формирующих это имя LDAP.

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

size

public int size()
Возвращает количество компонентов в этом имени LDAP.
Определено в:
size в интерфейсе Name
Возвращает:
Неотрицательное количество компонентов в этом имени LDAP.

isEmpty

public boolean isEmpty()
Определяет, является ли это имя LDAP пустым. Пустое имя — это имя с нулевыми компонентами.
Определено в:
isEmpty в интерфейсе Name
Возвращает:
true, если это имя LDAP пустое, иначе false.

getAll

public Enumeration<String> getAll()
Возвращает компоненты этого имени в виде перечисления строк. Эффект обновлений этого имени на это перечисление не определён. Если имя имеет нулевые компоненты, возвращается пустое (не нулевое) перечисление. Порядок компонентов, возвращаемых перечислением, совпадает с порядком, в котором компоненты пронумерованы, как описано в описании класса.
Определено в:
getAll в интерфейсе Name
Возвращает:
Непустое перечисление компонентов этого имени LDAP. Каждый элемент перечисления имеет тип String.

get

public String get(int posn)
Возвращает компонент этого имени LDAP в виде строки.
Определено в:
get в интерфейсе Name
Параметры:
posn - Индекс компонента для извлечения (нумерация с 0). Должен быть в диапазоне [0,size()).
Возвращает:
Непустой компонент по индексу posn.
Исключения:
IndexOutOfBoundsException - если posn выходит за указанный диапазон.

getRdn

public Rdn getRdn(int posn)
Возвращает RDN этого имени LDAP в виде Rdn.
Параметры:
posn - Индекс RDN для извлечения (нумерация с 0). Должен быть в диапазоне [0,size()).
Возвращает:
Непустой RDN по индексу posn.
Исключения:
IndexOutOfBoundsException - если posn выходит за указанный диапазон.

getPrefix

public Name getPrefix(int posn)
Создаёт имя, компоненты которого представляют собой префикс компонентов этого имени LDAP. Последующие изменения этого имени не повлияют на возвращаемое имя и наоборот.
Определено в:
getPrefix в интерфейсе Name
Параметры:
posn - Индекс компонента, после которого следует остановить извлечение (нумерация с 0). Должен быть в диапазоне [0,size()].
Возвращает:
Экземпляр LdapName, состоящий из компонентов с индексами в диапазоне [0,posn). Если posn равен нулю, возвращается пустое имя LDAP.
Исключения:
IndexOutOfBoundsException - Если posn выходит за указанный диапазон.

getSuffix

public Name getSuffix(int posn)
Создаёт имя, компоненты которого представляют собой суффикс компонентов этого имени LDAP. Последующие изменения этого имени не повлияют на возвращаемое имя и наоборот.
Определено в:
getSuffix в интерфейсе Name
Параметры:
posn - Индекс компонента, с которого следует начать извлечение (нумерация с 0). Должен быть в диапазоне [0,size()].
Возвращает:
Экземпляр LdapName, состоящий из компонентов с индексами в диапазоне [posn,size()). Если posn равен size(), возвращается пустое имя LDAP.
Исключения:
IndexOutOfBoundsException - Если posn выходит за указанный диапазон.

startsWith

public boolean startsWith(Name n)
Определяет, начинается ли это имя LDAP с указанного префикса имени LDAP. Имя n является префиксом, если оно равно getPrefix(n.size()) — другими словами, это имя LDAP начинается с 'n'. Если n равно null или не является именем в формате RFC2253, как описано в описании класса, возвращается false.
Определено в:
startsWith в интерфейсе Name
Параметры:
n - Проверяемое имя LDAP.
Возвращает:
true, если n является префиксом этого имени LDAP, иначе false.
См. также:
  • getPrefix(int posn)

startsWith

public boolean startsWith(List<Rdn> rdns)
Определяет, образует ли указанная последовательность RDN префикс этого имени LDAP. Возвращает true, если это имя LdapName не короче rdns, и для каждой позиции p в диапазоне [0, rdns.size()) компонент getRdn(p) соответствует rdns.get(p). В противном случае возвращается false. Если rdns равно null, возвращается false.
Параметры:
rdns - Последовательность Rdn для проверки.
Возвращает:
true, если rdns образует префикс этого имени LDAP, иначе false.

endsWith

public boolean endsWith(Name n)
Определяет, заканчивается ли это имя LDAP указанным суффиксом имени LDAP. Имя n является суффиксом, если оно равно getSuffix(size()-n.size()) — другими словами, это имя LDAP заканчивается на 'n'. Если n равно null или не является именем в формате RFC2253, как описано в описании класса, возвращается false.
Определено в:
endsWith в интерфейсе Name
Параметры:
n - Проверяемое имя LDAP.
Возвращает:
true, если n является суффиксом этого имени, иначе false.
См. также:
  • getSuffix(int posn)

endsWith

public boolean endsWith(List<Rdn> rdns)
Определяет, образует ли указанная последовательность RDN суффикс этого имени LDAP. Возвращает true, если это имя LdapName не короче rdns, и для каждой позиции p в диапазоне [size() - rdns.size(), size()) компонент getRdn(p) соответствует rdns.get(p). В противном случае возвращается false. Если rdns равно null, возвращается false.
Параметры:
rdns - Последовательность Rdn для проверки.
Возвращает:
true, если rdns образует суффикс этого имени LDAP, иначе false.

addAll

public Name addAll(Name suffix) throws InvalidNameException
Добавляет компоненты имени — в порядке следования — в конец этого имени.
Определено в:
addAll в интерфейсе Name
Параметры:
suffix - Компоненты для добавления (не null).
Возвращает:
Обновлённое имя (не новый экземпляр).
Исключения:
InvalidNameException - если suffix не является допустимым именем LDAP или добавление компонентов нарушает синтаксические правила этого имени LDAP.

addAll

public Name addAll(List<Rdn> suffixRdns)
Добавляет RDN имени — в порядке следования — в конец этого имени.
Параметры:
suffixRdns - Добавляемый суффикс Rdn.
Возвращает:
Обновлённое имя (не новый экземпляр).

addAll

public Name addAll(int posn, Name suffix) throws InvalidNameException
Добавляет компоненты имени — в порядке следования — в указанную позицию внутри этого имени. Компоненты этого имени LDAP, находящиеся на или после индекса (если есть) первого нового компонента, сдвигаются вверх (от индекса 0) для размещения новых компонентов.
Определено в:
addAll в интерфейсе Name
Параметры:
posn - Индекс для добавления нового компонента. Должен быть в диапазоне [0,size()].
suffix - Компоненты для добавления (не null).
Возвращает:
Обновлённое имя (не новый экземпляр).
Исключения:
InvalidNameException - если suffix не является допустимым именем LDAP или добавление компонентов нарушает синтаксические правила этого имени LDAP.
IndexOutOfBoundsException - Если posn выходит за указанный диапазон.

addAll

public Name addAll(int posn, List<Rdn> suffixRdns)
Добавляет RDN имени — в порядке следования — в указанную позицию внутри этого имени. RDN этого имени LDAP, находящиеся на или после индекса (если есть) первого нового RDN, сдвигаются вверх (от индекса 0) для размещения новых RDN.
Параметры:
posn - Индекс для добавления суффиксных RDN. Должен быть в диапазоне [0,size()].
suffixRdns - Добавляемый суффикс Rdn.
Возвращает:
Обновлённое имя (не новый экземпляр).
Исключения:
IndexOutOfBoundsException - Если posn выходит за указанный диапазон.

добавить

public Name add(String comp) throws InvalidNameException
Добавляет один компонент в конец этого имени LDAP.
Определено в:
add в интерфейсе Name
Параметры:
comp - Добавляемый компонент, не null.
Возвращает:
Обновленное имя LdapName, не новый экземпляр. Не может быть null.
Исключения:
InvalidNameException - Если добавление comp в конец имени нарушит синтаксис имени.

добавить

public Name add(Rdn comp)
Добавляет один RDN в конец этого имени LDAP.
Параметры:
comp - Добавляемый RDN, не null.
Возвращает:
Обновленное имя LdapName, не новый экземпляр. Не может быть null.

добавить

public Name add(int posn, String comp) throws InvalidNameException
Добавляет один компонент в указанную позицию в этом имени LDAP. Компоненты этого имени LDAP с индексом равным или после индекса нового компонента (если таковые имеются) сдвигаются вверх на одну позицию (от индекса 0) для размещения нового компонента.
Определено в:
add в интерфейсе Name
Параметры:
posn - Индекс, в который нужно добавить новый компонент. Должно находиться в диапазоне [0,size()].
comp - Добавляемый компонент, не null.
Возвращает:
Обновленное имя LdapName, не новый экземпляр. Не может быть null.
Исключения:
IndexOutOfBoundsException - Если posn находится за пределами указанного диапазона.
InvalidNameException - Если добавление comp в указанную позицию нарушит синтаксис имени.

добавить

public Name add(int posn, Rdn comp)
Добавляет один RDN в указанную позицию в этом имени LDAP. RDNы этого имени LDAP с индексом равным или после индекса нового RDN (если таковые имеются) сдвигаются вверх на одну позицию (от индекса 0) для размещения нового RDN.
Параметры:
posn - Индекс, в который нужно добавить новый RDN. Должно находиться в диапазоне [0,size()].
comp - Добавляемый RDN, не null.
Возвращает:
Обновленное имя LdapName, не новый экземпляр. Не может быть null.
Исключения:
IndexOutOfBoundsException - Если posn находится за пределами указанного диапазона.

удалить

public Object remove(int posn) throws InvalidNameException
Удаляет компонент из этого имени LDAP. Компонент этого имени в указанной позиции удаляется. Компоненты с индексами больше этой позиции (если таковые имеются) сдвигаются вниз (к индексу 0) на одну позицию.
Определено в:
remove в интерфейсе Name
Параметры:
posn - Индекс компонента для удаления. Должно находиться в диапазоне [0,size()).
Возвращает:
Удаленный компонент (String).
Исключения:
IndexOutOfBoundsException - если posn находится за пределами указанного диапазона.
InvalidNameException - если удаление компонента нарушит синтаксические правила имени.

getRdns

public List<Rdn> getRdns()
Возвращает список относительных имен отличий. Содержимое списка неизменяемо. Нумерация RDN в возвращаемом списке соответствует нумерации RDN, как описано в описании класса. Если у имени нет компонентов, возвращается пустой список.
Возвращает:
Имя в виде списка RDN, которые являются экземплярами класса Rdn.

клонировать

public Object clone()
Создает новую копию этого имени. Последующие изменения компонентов этого имени не повлияют на новую копию, и наоборот.
Определено в:
clone в интерфейсе Name
Переопределяет:
clone в классе Object
Возвращает:
Копию этого имени LDAP.
См. также:
  • Cloneable

toString

public String toString()
Возвращает строковое представление этого имени LDAP в формате, определенном в RFC 2253 и описанном в описании класса. Если у имени нет компонентов, возвращается пустая строка.
Переопределяет:
toString в классе Object
Возвращает:
Строковое представление LdapName.

equals

public boolean equals(Object obj)
Определяет, равны ли два имени LDAP. Если obj равен null или не является именем LDAP, возвращается false.

Два имени LDAP равны, если каждый RDN в одном равен соответствующему RDN в другом. Это подразумевает, что оба имеют одинаковое количество RDN, и каждый тест equals() RDN против соответствующего RDN в другом имени возвращает true. Смотрите Rdn.equals(Object obj) для определения равенства RDN.

Переопределяет:
equals в классе Object
Параметры:
obj - Возможный null объект для сравнения.
Возвращает:
true, если obj равен этому имени LDAP, в противном случае false.
См. также:
  • hashCode()

compareTo

public int compareTo(Object obj)
Сравнивает это имя LdapName с указанным объектом для порядка. Возвращает отрицательное целое число, ноль или положительное целое число, так как это имя меньше, равно или больше, чем заданный объект.

Если obj равен null или не является экземпляром LdapName, выбрасывается ClassCastException.

Порядок имен LDAP следует лексикографическим правилам сравнения строк, с расширением, что это применяется ко всем RDN в имени LDAP. Все RDN выстраиваются в их указанном порядке и сравниваются лексикографически. Смотрите Rdn.compareTo(Object obj) для правил сравнения RDN.

Если это имя LDAP лексикографически меньше obj, возвращается отрицательное число. Если это имя LDAP лексикографически больше obj, возвращается положительное число.

Определено в:
compareTo в интерфейсе Comparable<Object>
Определено в:
compareTo в интерфейсе Name
Параметры:
obj - Экземпляр LdapName, для сравнения.
Возвращает:
Отрицательное целое число, ноль или положительное целое число, так как это имя меньше, равно или больше, чем заданный obj.
Исключения:
ClassCastException - если obj равен null или не является LdapName.
См. также:
  • Comparable.compareTo(Object)

hashCode

public int hashCode()
Вычисляет хэш-код этого имени LDAP. Хэш-код представляет собой сумму хэш-кодов отдельных RDN этого имени.
Переопределяет:
hashCode в классе Object
Возвращает:
Целое число, представляющее хэш-код этого имени.
См. также:
  • equals(java.lang.Object)

© 1993, 2023, 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/21/docs/api/java.naming/javax/naming/ldap/LdapName.html

Spec-Zone.ru

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