Интерфейс Attribute
- Все суперинтерфейсы:
- Cloneable, Serializable
- Все известные реализующие классы:
- BasicAttribute
public interface Attribute extends Cloneable, Serializable
Этот интерфейс представляет атрибут, связанный с именованным объектом.
В каталоге именованные объекты могут иметь связанные с ними атрибуты. Интерфейс Attribute представляет атрибут, связанный с именованным объектом. Атрибут содержит 0 или более значений, которые могут быть null. Значения атрибута могут быть упорядоченными или неупорядоченными (см. isOrdered()). Если значения неупорядочены, дубликаты запрещены. Если значения упорядочены, дубликаты разрешены.
Содержание и представление атрибута и его значений определяются схемой атрибута. Схема содержит информацию о синтаксисе атрибута и других свойствах. См. getAttributeDefinition() и getAttributeSyntaxDefinition() для получения подробной информации о получении схемы информации об атрибуте, если служба каталогов поддерживает схемы.
Равенство двух атрибутов определяется реализующим классом. Простая реализация может использовать Object.equals() для определения равенства значений атрибутов, в то время как более сложная реализация может использовать информацию о схеме для определения равенства. Аналогично, одна реализация может предоставить статическую структуру хранения, которая просто возвращает значения, переданные в конструктор, в то время как другая реализация может определить get() и getAll(), чтобы получить значения динамически из каталога.
Обратите внимание, что обновления Attribute (например, добавление или удаление значения) не влияют на соответствующее представление атрибута в каталоге. Обновления каталога могут быть выполнены только с помощью операций в интерфейсе DirContext.
- С тех пор:
- 1.3
- См. также:
BasicAttribute
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static long |
serialVersionUID Используйте serialVersionUID из JNDI 1.1.1 для межплатформенной совместимости. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
add(int ix,
Object attrVal) Добавляет значение атрибута в упорядоченный список значений атрибута. |
boolean |
add(Object attrVal) Добавляет новое значение в атрибут. |
void |
clear() Удаляет все значения из этого атрибута. |
Object |
clone() Создает копию атрибута. |
boolean |
contains(Object attrVal) Определяет, содержится ли значение в атрибуте. |
Object |
get() Возвращает одно из значений этого атрибута. |
Object |
get(int ix) Возвращает значение атрибута из упорядоченного списка значений атрибута. |
NamingEnumeration<?> |
getAll() Возвращает перечисление значений атрибута. |
DirContext |
getAttributeDefinition() Возвращает определение схемы атрибута. |
DirContext |
getAttributeSyntaxDefinition() Возвращает определение синтаксиса, связанное с атрибутом. |
String |
getID() Возвращает идентификатор этого атрибута. |
boolean |
isOrdered() Определяет, упорядочены ли значения этого атрибута. |
Object |
remove(int ix) Удаляет значение атрибута из упорядоченного списка значений атрибута. |
boolean |
remove(Object attrval) Удаляет указанное значение из атрибута. |
Object |
set(int ix,
Object attrVal) Устанавливает значение атрибута в упорядоченном списке значений атрибута. |
int |
size() Возвращает количество значений в этом атрибуте. |
Поля
serialVersionUID
static final long serialVersionUID
Используйте serialVersionUID из JNDI 1.1.1 для межсетевого взаимодействия.
- См. также:
- Значения константных полей
Методы
getAll
NamingEnumeration<?> getAll()
throws NamingException Возвращает перечисление значений атрибута. Поведение этого перечисления не определено, если значения атрибута добавляются, изменяются или удаляются во время перечисления. Если значения атрибута упорядочены, элементы перечисления будут упорядочены.
- Возвращает:
- Непустое перечисление значений атрибута. Каждый элемент перечисления — это, возможно, null Object. Класс объекта — это класс значения атрибута. Элемент равен null, если значение атрибута равно null. Если атрибут имеет ноль значений, возвращается пустое перечисление.
- Исключения:
-
NamingException- Если при получении значений возникло исключение именования. - См. также:
isOrdered()
get
Object get()
throws NamingException Возвращает одно из значений этого атрибута. Если атрибут имеет более одного значения и не упорядочен, возвращается любое из значений. Если атрибут имеет более одного значения и упорядочен, возвращается первое значение.
- Возвращает:
- Возможный null-объект, представляющий одно из значений атрибута. Он равен null, если значение атрибута равно null.
- Исключения:
-
NamingException- Если при получении значения возникло исключение именования. -
NoSuchElementException- Если у этого атрибута нет значений.
size
int size()
Возвращает количество значений в этом атрибуте.
- Возвращает:
- Положительное количество значений в этом атрибуте.
getID
String getID()
Возвращает идентификатор этого атрибута.
- Возвращает:
- Идентификатор этого атрибута. Он не может быть null.
contains
boolean contains(Object attrVal)
Определяет, содержится ли значение в атрибуте. Равенство определяется реализацией, которая может использовать Object.equals() или информацию схемы для определения равенства.
- Параметры:
-
attrVal- Проверяемое возможно нулевое значение. Если null, проверяется, имеет ли атрибут значение, равное null. - Возвращает:
- true, если attrVal является одним из значений этого атрибута; иначе false.
- См. также:
-
Object.equals(java.lang.Object),BasicAttribute.equals(java.lang.Object)
add
boolean add(Object attrVal)
Добавляет новое значение в атрибут. Если значения атрибута неупорядочены и attrVal уже присутствует в атрибуте, этот метод ничего не делает. Если значения атрибута упорядочены, attrVal добавляется в конец списка значений атрибута.
Равенство определяется реализацией, которая может использовать Object.equals() или информацию схемы для определения равенства.
- Параметры:
-
attrVal- Новое возможно нулевое значение для добавления. Если null, null добавляется как значение атрибута. - Возвращает:
- true, если значение было добавлено; иначе false.
remove
boolean remove(Object attrval)
Удаляет указанное значение из атрибута. Если attrval отсутствует в атрибуте, этот метод ничего не делает. Если значения атрибута упорядочены, первое вхождение attrVal удаляется, а значения атрибутов с индексами, большими, чем удалённое значение, сдвигаются к началу списка (и их индексы уменьшаются на единицу).
Равенство определяется реализацией, которая может использовать Object.equals() или информацию схемы для определения равенства.
- Параметры:
-
attrval- Возможно нулевое значение для удаления из этого атрибута. Если null, удаляется значение атрибута, равное null. - Возвращает:
- true, если значение было удалено; иначе false.
clear
void clear()
Удаляет все значения из этого атрибута.
getAttributeSyntaxDefinition
DirContext getAttributeSyntaxDefinition()
throws NamingException Возвращает определение синтаксиса, связанное с атрибутом. Определение синтаксиса атрибута задает формат значения(й) атрибута. Обратите внимание, что это отличается от представления значения атрибута как объекта Java. Синтаксическое определение относится к понятию синтаксиса каталога.
Например, даже если значение является объектом Java String, его синтаксис каталога может быть "Печатная строка" или "Номер телефона". Или значение может быть массивом байтов, а его синтаксис каталога — "JPEG" или "Сертификат". Например, если синтаксис этого атрибута "JPEG", этот метод вернёт определение синтаксиса для "JPEG".
Информация, которую можно извлечь из определения синтаксиса, зависит от каталога.
Если реализация не поддерживает схемы, она должна выбросить исключение OperationNotSupportedException. Если реализация поддерживает схемы, она должна определить этот метод для возвращения соответствующей информации.
- Возвращает:
- Определение синтаксиса атрибута. Null, если реализация поддерживает схемы, но этот конкретный атрибут не содержит информации о схеме.
- Имеет исключения:
-
OperationNotSupportedException- Если получение схемы не поддерживается. -
NamingException- Если при получении схемы произошла ошибка именования.
getAttributeDefinition
DirContext getAttributeDefinition()
throws NamingException Возвращает определение схемы атрибута. Определение схемы атрибута содержит информацию, такую как то, является ли атрибут многозначным или однозначным, правила сопоставления, используемые при сравнении значений атрибута. Информация, которую можно извлечь из определения атрибута, зависит от каталога.
Если реализация не поддерживает схемы, она должна выбросить исключение OperationNotSupportedException. Если реализация поддерживает схемы, она должна определить этот метод для возвращения соответствующей информации.
- Возвращает:
- Определение схемы этого атрибута. Null, если реализация поддерживает схемы, но этот конкретный атрибут не содержит информации о схеме.
- Имеет исключения:
-
OperationNotSupportedException- Если получение схемы не поддерживается. -
NamingException- Если при получении схемы произошла ошибка именования.
clone
Object clone()
Создаёт копию атрибута. Копия содержит те же значения атрибута, что и исходный атрибут: сами значения атрибута не клонируются. Изменения в копии не повлияют на оригинал и наоборот.
- Возвращает:
- Не нулевую копию атрибута.
isOrdered
boolean isOrdered()
Определяет, упорядочены ли значения этого атрибута. Если значения атрибута упорядочены, допускаются дублирующие значения. Если значения атрибута неупорядочены, они отображаются в любом порядке, и дублирующие значения отсутствуют.
- Возвращает:
- true, если значения этого атрибута упорядочены; false в противном случае.
- См. также:
-
get(int),remove(int),add(int, java.lang.Object),set(int, java.lang.Object)
get
Object get(int ix)
throws NamingException Извлекает значение атрибута из упорядоченного списка значений атрибута. Этот метод возвращает значение по индексу ix в списке значений атрибута. Если значения атрибута неупорядочены, этот метод возвращает значение, которое случайно находится на этом индексе.
- Параметры:
-
ix- Индекс значения в упорядоченном списке значений атрибута.0 <= ix < size(). - Возвращает:
- Возможный пустой атрибут значение по индексу
ix; null, если значение атрибута равно null. - Выбрасывает:
-
NamingException- Если при извлечении значения возникло исключение именования. -
IndexOutOfBoundsException- Еслиixвыходит за заданный диапазон.
remove
Object remove(int ix)
Удаляет значение атрибута из упорядоченного списка значений атрибута. Этот метод удаляет значение по индексу ix в списке значений атрибута. Если значения атрибута неупорядочены, этот метод удаляет значение, которое случайно находится на этом индексе. Значения, расположенные по индексам, превышающим ix, сдвигаются вверх к началу списка (а их индексы уменьшаются на единицу).
- Параметры:
-
ix- Индекс значения для удаления.0 <= ix < size(). - Возвращает:
- Возможный пустой атрибут значение по индексу
ix, которое было удалено; null, если значение атрибута равно null. - Выбрасывает:
-
IndexOutOfBoundsException- Еслиixвыходит за заданный диапазон.
add
void add(int ix,
Object attrVal) Добавляет значение атрибута в упорядоченный список значений атрибута. Этот метод добавляет attrVal в список значений атрибута по индексу ix. Значения, расположенные по индексам, равным или превышающим ix, сдвигаются вниз к концу списка (а их индексы увеличиваются на единицу). Если значения атрибута неупорядочены и уже содержат attrVal, выбрасывается IllegalStateException.
- Параметры:
-
ix- Индекс в упорядоченном списке значений атрибута, куда добавить новое значение.0 <= ix <= size(). -
attrVal- Возможная пустая атрибутивная запись для добавления; если null, добавляется null. - Исключения:
-
IndexOutOfBoundsException- Еслиixвыходит за заданный диапазон. -
IllegalStateException- Если значения атрибутов неупорядочены иattrValявляется одним из этих значений.
set
Object set(int ix,
Object attrVal) Устанавливает значение атрибута в упорядоченном списке значений атрибутов. Этот метод устанавливает значение по ix индексу в списке значений атрибутов в attrVal. Старое значение удаляется. Если значения атрибутов неупорядочены, этот метод устанавливает значение, которое случайно находится на этом индексе, в attrVal, если только attrVal не является уже одним из значений. В этом случае выбрасывается IllegalStateException.
- Параметры:
-
ix- Индекс значения в упорядоченном списке значений атрибутов.0 <= ix < size(). -
attrVal- Возможная пустая атрибутивная запись для использования. Если null, 'null' заменяет старое значение. - Возвращает:
- Возможная пустая атрибутивная запись по индексу ix, которая была заменена. Null, если значение атрибута было null.
- Исключения:
-
IndexOutOfBoundsException- Еслиixвыходит за заданный диапазон. -
IllegalStateException- ЕслиattrValуже существует, а значения атрибутов неупорядочены.
© 1993, 2020, 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.