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