Spec-Zone.ru › OpenJDK 17

Класс 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 (« »).
  • Пробелы допускаются с обеих сторон ',', ';', '=', и '+'. Такие пробелы принимаются, но не генерируются этим кодом, и игнорируются при сравнении имен.
  • Строки значений атрибутов, содержащие '=' или не ведущие '#' символы (неэкранированные), принимаются.

Строковые имена, передаваемые 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 - Это отличтельное имя, не равное null, отформатированное в соответствии с правилами, определёнными в RFC 2253.
Исключения:
InvalidNameException - если обнаружено нарушение синтаксиса.
См. также:
  • Rdn.escapeValue(Object value)

LdapName

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

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

Параметры:
rdns - Список Rdn , не равный null, формирующий имя LDAP.

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

size

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

isEmpty

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

getAll

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

get

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

getRdn

public Rdn getRdn(int posn)
Возвращает RDN этого имени LDAP как Rdn.
Параметры:
posn - Индекс RDN для извлечения, начиная с 0. Должен быть в диапазоне [0,size()).
Возвращает:
RDN по индексу posn, не равный null.
Исключения:
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 , не равный null.
Возвращает:
Обновлённое имя (не новый экземпляр).

addAll

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

addAll

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

добавить

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

удалить

public Object remove(int posn) throws InvalidNameException
Удаляет компонент из этого имени LDAP. Компонент этого имени в указанной позиции удаляется. Компоненты с индексами, большими, чем эта позиция (если есть), смещаются вниз (в сторону индекса 0) на одну позицию.
Определено в:
remove в интерфейсе Name
Параметры:
posn - индекс компонента для удаления. Должен быть в диапазоне [0,size()).
Возвращает:
Удаленный компонент (строка).
Исключение:
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 для сравнения, не может быть null.
Возвращает:
Отрицательное целое число, ноль или положительное целое число, в зависимости от того, меньше, равно или больше это имя, чем данный объект.
Исключение:
ClassCastException - если obj равно null или не является LdapName.
См. также:
  • Comparable.compareTo(Object)

hashCode

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

© 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/LdapName.html

Spec-Zone.ru

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