Spec-Zone .ru
спецификации, руководства, описания, API
|
public class LdapName extends Object implements Name
Этот класс разрешает несколько неоднозначностей, найденных в RFC 2253 следующим образом:
Названия строк, к которым передают LdapName
или возвратился этим, используют полный набор символов Unicode. Они могут также содержать символы, закодированные в UTF-8 с каждым октетом, представленным трехсимвольной подстрокой такой как "\\B4". Они, возможно, не, однако, содержат символы, закодированные в UTF-8 с каждым октетом, представленным единственным символом в строке: значение было бы неоднозначно.
LdapName
должным образом проанализирует все допустимые имена, но не пытается обнаружить все возможные нарушения, анализируя недопустимые имена. Это "щедро" в принятии недопустимых имен. "Законность" имени определяется в конечном счете, когда она предоставляется серверу LDAP, который может принять или отклонить имя, основанное на факторах, таких как его соображения информации и функциональной совместимости схемы.
Когда имена тестируются на равенство, приписывают типы, и двоичный файл и представляют значения в виде строки, являются нечувствительными к регистру. Строковые значения с различным но эквивалентным использованием заключения в кавычки, выхода, или UTF8-hex-encoding считают равными. Порядок компонентов в многозначном RDNs (таких как "ou=Sales+cn=Bob") не является существенным.
Компоненты имени LDAP, то есть, RDNs, нумеруются. Индексы LDAP называют с n RDNs диапазон от 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 не должен синхронизироваться.
Если не указано иное, поведение передачи нулевого параметра конструктору или методу в этом классе заставит NullPointerException быть брошенным.
Конструктор и Описание |
---|
LdapName(List<Rdn> rdns)
Создает имя LDAP, данное его проанализированные компоненты RDN.
|
LdapName(String name)
Создает имя LDAP из данного отличительного имени.
|
Модификатор и Тип | Метод и Описание |
---|---|
Имя |
add(int posn, Rdn comp)
Добавляет единственный RDN в указанной позиции в пределах этого имени LDAP.
|
Имя |
add(int posn, String comp)
Добавляет единственный компонент в указанной позиции в пределах этого имени LDAP.
|
Имя |
add(Rdn comp)
Добавляет единственный RDN до конца этого имени LDAP.
|
Имя |
add(String comp)
Добавляет единственный компонент до конца этого имени LDAP.
|
Имя |
addAll(int posn, List<Rdn> suffixRdns)
Добавляет RDNs имени - в порядке - в указанной позиции в пределах этого имени.
|
Имя |
addAll(int posn, Name suffix)
Добавляют компоненты имени - в порядке - в указанной позиции в пределах этого имени.
|
Имя |
addAll(List<Rdn> suffixRdns)
Добавляет RDNs имени - в порядке - до конца этого имени.
|
Имя |
addAll(Name suffix)
Добавляют компоненты имени - в порядке - до конца этого имени.
|
Объект |
clone()
Генерирует новую копию этого имени.
|
int |
compareTo(Object obj)
Сравнивает этот LdapName с указанным Объектом для порядка.
|
boolean |
endsWith(List<Rdn> rdns)
Определяет, формирует ли указанная последовательность RDN суффикс этого имени LDAP.
|
boolean |
endsWith(Name n)
Определяет, называет ли этот LDAP концы с указанным суффиксом имени LDAP.
|
boolean |
equals(Object obj)
Определяет, равны ли два имени LDAP.
|
Строка |
get(int posn)
Получает компонент этого имени LDAP как строка.
|
Enumeration<String> |
getAll()
Получает компоненты этого имени как перечисление строк.
|
Имя |
getPrefix(int posn)
Создает имя, компоненты которого состоят из префикса компонентов этого имени LDAP.
|
Rdn |
getRdn(int posn)
Получает RDN этого имени LDAP как Rdn.
|
List<Rdn> |
getRdns()
Получает список относительных отличительных имен.
|
Имя |
getSuffix(int posn)
Создает имя, компоненты которого состоят из суффикса компонентов на это имя LDAP.
|
int |
hashCode()
Вычисляет хэш-код этого имени LDAP.
|
boolean |
isEmpty()
Определяет, пусто ли это имя LDAP.
|
Объект |
remove(int posn)
Удаляет компонент из этого имени LDAP.
|
int |
size()
Получает число компонентов на это имя LDAP.
|
boolean |
startsWith(List<Rdn> rdns)
Определяет, формирует ли указанная последовательность RDN префикс этого имени LDAP.
|
boolean |
startsWith(Name n)
Определяет, запускается ли это имя LDAP с указанного префикса имени LDAP.
|
Строка |
toString()
Возвращает строковое представление этого имени LDAP в формате, определенном
|
public LdapName(String name) throws InvalidNameException
name
- Это - ненулевое отличительное имя, отформатированное согласно правилам, определенным в InvalidNameException
- если нарушение синтаксиса обнаруживается.Rdn.escapeValue(Object value)
public int size()
public boolean isEmpty()
public Enumeration<String> getAll()
public String get(int posn)
get
в интерфейсе Name
posn
- Индекс на основе 0 компонента, чтобы получить. Должен быть в диапазоне [0, размер ()).IndexOutOfBoundsException
- если posn вне указанного диапазона.public Rdn getRdn(int posn)
posn
- Индекс на основе 0 RDN, чтобы получить. Должен быть в диапазоне [0, размер ()).IndexOutOfBoundsException
- если posn вне указанного диапазона.public Name getPrefix(int posn)
getPrefix
в интерфейсе Name
posn
- Индекс на основе 0 компонента, в котором можно остановиться. Должен быть в диапазоне [0, размер ()].IndexOutOfBoundsException
- Если posn вне указанного диапазона.public Name getSuffix(int posn)
getSuffix
в интерфейсе Name
posn
- Индекс на основе 0 компонента, в котором можно запустить. Должен быть в диапазоне [0, размер ()].IndexOutOfBoundsException
- Если posn вне указанного диапазона.public boolean startsWith(Name n)
startsWith
в интерфейсе Name
n
- LDAP называют к проверке.getPrefix(int posn)
public boolean startsWith(List<Rdn> rdns)
rdns
- Последовательность Rdn s, чтобы проверить.public boolean endsWith(Name n)
endsWith
в интерфейсе Name
n
- LDAP называют к проверке.getSuffix(int posn)
public boolean endsWith(List<Rdn> rdns)
rdns
- Последовательность Rdn s, чтобы проверить.public Name addAll(Name suffix) throws InvalidNameException
addAll
в интерфейсе Name
suffix
- Ненулевые компоненты, чтобы добавить.InvalidNameException
- если suffix не является допустимым именем LDAP, или если бы добавление компонентов нарушило бы правила синтаксиса этого имени LDAP.public Name addAll(List<Rdn> suffixRdns)
suffixRdns
- Ненулевой суффиксный Rdn s, чтобы добавить.public Name addAll(int posn, Name suffix) throws InvalidNameException
addAll
в интерфейсе Name
suffix
- Ненулевые компоненты, чтобы добавить.posn
- Индекс, по которому можно добавить новый компонент. Должен быть в диапазоне [0, размер ()].InvalidNameException
- если suffix не является допустимым именем LDAP, или если бы добавление компонентов нарушило бы правила синтаксиса этого имени LDAP.IndexOutOfBoundsException.
- Если posn вне указанного диапазона.public Name addAll(int posn, List<Rdn> suffixRdns)
suffixRdns
- Ненулевой суффиксный Rdn s, чтобы добавить.posn
- Индекс, по которому можно добавить суффиксный RDNs. Должен быть в диапазоне [0, размер ()].IndexOutOfBoundsException.
- Если posn вне указанного диапазона.public Name add(String comp) throws InvalidNameException
add
в интерфейсе Name
comp
- Ненулевой компонент, чтобы добавить.InvalidNameException
- Если добавление аккомпанемента в конце имени нарушило бы синтаксис имени.public Name add(Rdn comp)
comp
- Ненулевой RDN, чтобы добавить.public Name add(int posn, String comp) throws InvalidNameException
add
в интерфейсе Name
comp
- Ненулевой компонент, чтобы добавить.posn
- Индекс, по которому можно добавить новый компонент. Должен быть в диапазоне [0, размер ()].IndexOutOfBoundsException.
- Если posn вне указанного диапазона.InvalidNameException
- Если добавление аккомпанемента в указанной позиции нарушило бы синтаксис имени.public Name add(int posn, Rdn comp)
comp
- Ненулевой RDN, чтобы добавить.posn
- Индекс, по которому можно добавить новый RDN. Должен быть в диапазоне [0, размер ()].IndexOutOfBoundsException
- Если posn вне указанного диапазона.public Object remove(int posn) throws InvalidNameException
remove
в интерфейсе Name
posn
- Индекс компонента, чтобы удалить. Должен быть в диапазоне [0, размер ()).IndexOutOfBoundsException
- если posn вне указанного диапазона.InvalidNameException
- если удаление компонента нарушило бы правила синтаксиса имени.public List<Rdn> getRdns()
Rdn
.public Object clone()
public String toString()
public boolean equals(Object obj)
Два имени LDAP равны, если каждый RDN в каждый равен соответствующему RDN в другом. Это подразумевает, и имейте то же самое число RDNs, и каждый RDN's равняется (), тест против соответствующего RDN на другое имя возвращает true. См. Rdn.equals(Object obj)
для определения равенства RDN.
equals
в классе Object
obj
- Возможно нуль возражают, чтобы сравниться с.hashCode()
public int compareTo(Object obj)
Если obj является нулем или не экземпляром LdapName, ClassCastException бросается.
Упорядочивание имен LDAP следует за лексикографическими правилами для сравнения строк с расширением, что это применяется ко всему RDNs на имя LDAP. Все RDNs выстраиваются в линию в их указанном порядке и сравниваются лексикографически. См. Rdn.compareTo(Object obj)
для правил сравнения RDN.
Если это имя LDAP лексикографически меньше чем obj, отрицательное число возвращается. Если это имя LDAP лексикографически больше чем obj, положительное число возвращается.
compareTo
в интерфейсе Comparable<Object>
compareTo
в интерфейсе Name
obj
- Ненулевой экземпляр LdapName, чтобы сравниться с.ClassCastException
- если obj является нулем или не LdapName.Comparable.compareTo(Object)
public int hashCode()
hashCode
в классе Object
equals(java.lang.Object)
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.