Интерфейс Attribute
- Все суперинтерфейсы:
-
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, если значение атрибута равно null. Если атрибут имеет ноль значений, возвращается пустое перечисление.
- Исключения:
-
NamingException- Если при получении значений возникло исключение имени. - См. также:
get
Object get() throws NamingException
- Возвращает:
- Возможный нулевой объект, представляющий одно из значений атрибута. Он равен null, если значение атрибута равно null.
- Исключения:
-
NamingException- Если при получении значения возникло исключение имени. -
NoSuchElementException- Если у этого атрибута нет значений.
size
int size()
- Возвращает:
- Неотрицательное количество значений в этом атрибуте.
getID
String getID()
- Возвращает:
- Идентификатор этого атрибута. Он не может быть null.
contains
boolean contains(Object attrVal)
Object.equals() или схему информации для определения равенства.- Параметры:
-
attrVal- Возможный нулевой проверяемый объект. Если null, проверьте, имеет ли атрибут значение, равное null. - Возвращает:
- true, если attrVal — одно из значений этого атрибута; иначе false.
- См. также:
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 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(). - Возвращает:
- Возможно, нулевое значение атрибута по индексу
ix; null, если значение атрибута равно null. - Исключения:
-
NamingException- Если при получении значения возникло исключение имени. -
IndexOutOfBoundsException- Еслиixнаходится вне заданного диапазона.
remove
Object remove(int ix)
ix индексу в списке значений атрибутов. Если значения атрибута неупорядочены, этот метод удаляет значение, которое случайно находится на этом индексе. Значения, расположенные на индексах, больших, чем ix, сдвигаются к началу списка (и их индексы уменьшаются на единицу).- Параметры:
-
ix- Индекс удаляемого значения.0 <= ix < size(). - Возвращает:
- Возможный нулевой объект атрибута по индексу
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, 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/directory/Attribute.html
serialVersionUIDв интерфейсе неэффективно.