Класс BasicAttribute
- Все реализуемые интерфейсы:
Serializable, Cloneable, Attribute
public class BasicAttribute extends Object implements Attribute
Attribute. Эта реализация не поддерживает методы схемы getAttributeDefinition() и getAttributeSyntaxDefinition(). Они просто выбрасывают OperationNotSupportedException. Подклассы BasicAttribute должны переопределять эти методы, если поддерживают их.
По умолчанию класс BasicAttribute использует Object.equals() для определения равенства значений атрибутов при проверке на равенство или поиске значений, кроме случаев, когда значение является массивом. Для массива каждый его элемент проверяется с помощью Object.equals(). Подклассы BasicAttribute могут использовать информацию о схеме при выполнении аналогичных проверок равенства, переопределяя методы, для которых такое использование схемы имеет смысл. Аналогично, по умолчанию класс BasicAttribute возвращает значения, переданные его конструктору и/или изменённые с помощью методов добавления и удаления. Подклассы BasicAttribute могут переопределить get() и getAll(), чтобы динамически получать значения из каталога (или реализовать интерфейс Attribute напрямую вместо наследования от BasicAttribute).
Обратите внимание, что изменения BasicAttribute (например, добавление или удаление значения) не влияют на соответствующее представление атрибута в каталоге. Изменения каталога можно выполнять только с помощью операций интерфейса DirContext.
Экземпляр BasicAttribute не синхронизирован для конкурентного доступа из нескольких потоков. Несколько потоков, пытающихся получить доступ к BasicAttribute и изменить его, должны блокировать объект.
- Начиная с:
- 1.3
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected String |
attrID |
Содержит идентификатор атрибута. |
protected boolean |
ordered |
Флаг, указывающий, упорядочены ли значения этого атрибута. |
protected Vector |
values |
Содержит значения атрибута. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BasicAttribute |
Создаёт новый экземпляр неупорядоченного атрибута без значения. |
BasicAttribute |
Создаёт новый экземпляр потенциально упорядоченного атрибута без значения. |
BasicAttribute |
Создаёт новый экземпляр неупорядоченного атрибута с одним значением. |
BasicAttribute |
Создаёт новый экземпляр потенциально упорядоченного атрибута с одним значением. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Добавляет значение атрибута в упорядоченный список значений атрибута. |
boolean |
add |
Добавляет новое значение к этому атрибуту. |
void |
clear() |
Удаляет все значения этого атрибута. |
Object |
clone() |
Создаёт копию атрибута. |
boolean |
contains |
Определяет, содержится ли значение в этом атрибуте. |
boolean |
equals |
Определяет, равен ли obj этому атрибуту. |
Object |
get() |
Возвращает одно из значений этого атрибута. |
Object |
get |
Возвращает значение атрибута из упорядоченного списка значений атрибута. |
NamingEnumeration |
getAll() |
Возвращает перечисление значений этого атрибута. |
DirContext |
getAttributeDefinition() |
Возвращает определение схемы этого атрибута. |
DirContext |
getAttributeSyntaxDefinition() |
Возвращает определение синтаксиса, связанное с этим атрибутом. |
String |
getID() |
Возвращает идентификатор этого атрибута. |
int |
hashCode() |
Вычисляет хеш-код этого атрибута. |
boolean |
isOrdered() |
Определяет, упорядочены ли значения этого атрибута. |
Object |
remove |
Удаляет значение атрибута из упорядоченного списка значений атрибута. |
boolean |
remove |
Удаляет указанное значение из этого атрибута. |
Object |
set |
Задаёт значение атрибута в упорядоченном списке значений атрибута. |
int |
size() |
Возвращает количество значений этого атрибута. |
String |
toString() |
Формирует строковое представление этого атрибута. |
Подробное описание полей
attrID
protected String attrID
values
protected transient Vector<Object> values
ordered
protected boolean ordered
Подробное описание конструкторов
BasicAttribute
public BasicAttribute(String id)
- Параметры:
-
id— идентификатор атрибута. Не может иметь значение null.
BasicAttribute
public BasicAttribute(String id, Object value)
- Параметры:
-
id— идентификатор атрибута. Не может иметь значение null. -
value— значение атрибута. Если оно равно null, атрибуту добавляется значение null.
BasicAttribute
public BasicAttribute(String id, boolean ordered)
- Параметры:
-
id— идентификатор атрибута. Не может иметь значение null. -
ordered— значение true означает, что значения атрибута будут упорядочены; в противном случае — false.
BasicAttribute
public BasicAttribute(String id, Object value, boolean ordered)
- Параметры:
-
id— идентификатор атрибута. Не может иметь значение null. -
value— значение атрибута. Если оно равно null, атрибуту добавляется значение null. -
ordered— значение true означает, что значения атрибута будут упорядочены; в противном случае — false.
Подробное описание методов
clone
public Object clone()
Attributeequals
public boolean equals(Object obj)
По умолчанию для сравнения идентификатора атрибута и его значений используется Object.equals(), кроме случая, когда значение является массивом. Для массива каждый его элемент проверяется с помощью Object.equals(). Подкласс может переопределить этот метод, чтобы использовать информацию о синтаксисе схемы и правила сопоставления, определяющие, что означает равенство двух атрибутов. Способ использования информации о схеме и сам факт её использования определяются подклассом. Если подкласс переопределяет equals(), ему также следует переопределить hashCode(), чтобы два равных атрибута имели одинаковый хеш-код.
hashCode
public int hashCode()
Хеш-код вычисляется сложением хеш-кода идентификатора атрибута и хеш-кодов всех его значений, кроме значений, являющихся массивами. Для массива суммируются хеш-коды всех его элементов. Если подкласс переопределяет hashCode(), ему также следует переопределить equals(), чтобы два равных атрибута имели одинаковый хеш-код.
toString
public String toString()
getAll
public NamingEnumeration<?> getAll() throws NamingException
По умолчанию возвращаются значения, переданные конструктору и/или изменённые с помощью методов добавления, замены и удаления. Подкласс может переопределить этот метод, чтобы динамически получать значения из каталога.
- Определён в:
-
getAllв интерфейсеAttribute - Возвращает:
- Ненулевое перечисление значений атрибута. Каждый элемент перечисления представляет собой объект Object, который может иметь значение null. Класс объекта соответствует классу значения атрибута. Элемент равен null, если значение атрибута равно null. Если атрибут не содержит значений, возвращается пустое перечисление.
- Выбрасывает:
-
NamingException— если при получении значений возникло исключение именования. - См. также:
get
public Object get() throws NamingException
По умолчанию возвращается одно из значений, переданных конструктору и/или изменённых с помощью методов добавления, замены и удаления. Подкласс может переопределить этот метод, чтобы динамически получать значение из каталога.
- Определён в:
-
getв интерфейсеAttribute - Возвращает:
- Объект, представляющий одно из значений атрибута; он может быть равен null. Он равен null, если значение атрибута равно null.
- Выбрасывает:
-
NamingException— если при получении значения возникло исключение именования.
size
getID
contains
public boolean contains(Object attrVal)
По умолчанию при сравнении attrVal со значениями этого атрибута используется Object.equals(), кроме случая, когда attrVal является массивом. Для массива каждый его элемент проверяется с помощью Object.equals(). Подкласс может использовать информацию о схеме для определения равенства.
- Определён в:
-
containsв интерфейсеAttribute - Параметры:
-
attrVal— проверяемое значение; может быть null. Если оно равно null, проверяется, содержит ли атрибут значение атрибута, равное null. - Возвращает:
- true, если attrVal является одним из значений этого атрибута; в противном случае — false.
- См. также:
add
public boolean add(Object attrVal)
По умолчанию при сравнении attrVal со значениями этого атрибута используется Object.equals(), кроме случая, когда attrVal является массивом. Для массива каждый его элемент проверяется с помощью Object.equals(). Подкласс может использовать информацию о схеме для определения равенства.
remove
public boolean remove(Object attrval)
По умолчанию при сравнении attrVal со значениями этого атрибута используется Object.equals(), кроме случая, когда attrVal является массивом. Для массива каждый его элемент проверяется с помощью Object.equals(). Подкласс может использовать информацию о схеме для определения равенства.
clear
isOrdered
public boolean isOrdered()
Attributeget
public Object get(int ix) throws NamingException
Attributeix в списке значений атрибута. Если значения атрибута не упорядочены, метод возвращает значение, которое оказалось по этому индексу.- Определён в:
-
getв интерфейсеAttribute - Параметры:
-
ix— индекс значения в упорядоченном списке значений атрибута.0 <= ix < size(). - Возвращает:
- Значение атрибута по индексу
ix; может быть null. Если значение атрибута равно null, возвращается null. - Выбрасывает:
-
NamingException— если при получении значения возникло исключение именования.
remove
public Object remove(int ix)
Attributeix в списке значений атрибута. Если значения атрибута не упорядочены, метод удаляет значение, которое оказалось по этому индексу. Значения, расположенные по индексам больше ix, сдвигаются к началу списка (их индексы уменьшаются на единицу).add
public void add(int ix, Object attrVal)
AttributeattrVal в список значений атрибута по индексу ix. Значения, расположенные по индексам, равным или большим ix, сдвигаются к концу списка (их индексы увеличиваются на единицу). Если значения атрибута не упорядочены и уже содержат attrVal, выбрасывается IllegalStateException.set
public Object set(int ix, Object attrVal)
Attributeix в списке значений атрибута равным attrVal. Старое значение удаляется. Если значения атрибута не упорядочены, этот метод задаёт значение, которое оказалось по этому индексу, равным attrVal, если только attrVal ещё не является одним из значений. В этом случае выбрасывается IllegalStateException.- Определён в:
-
setв интерфейсеAttribute - Параметры:
-
ix— индекс значения в упорядоченном списке значений атрибута.0 <= ix < size(). -
attrVal— используемое значение атрибута; может быть null. Если оно равно null, старое значение заменяется на 'null'. - Возвращает:
- Заменённое значение атрибута по индексу ix; оно может быть null. Если значение атрибута было null, возвращается null.
getAttributeSyntaxDefinition
public DirContext getAttributeSyntaxDefinition() throws NamingException
По умолчанию этот метод выбрасывает OperationNotSupportedException. Если подкласс поддерживает схему, ему следует переопределить этот метод.
- Определён в:
-
getAttributeSyntaxDefinitionв интерфейсеAttribute - Возвращает:
- Определение синтаксиса атрибута. Возвращает null, если реализация поддерживает схемы, но для этого конкретного атрибута информация о схеме отсутствует.
- Выбрасывает:
-
OperationNotSupportedException— если получение схемы не поддерживается. -
NamingException— если при получении схемы возникает исключение именования.
getAttributeDefinition
public DirContext getAttributeDefinition() throws NamingException
По умолчанию этот метод выбрасывает OperationNotSupportedException. Если подкласс поддерживает схему, ему следует переопределить этот метод.
- Определён в:
-
getAttributeDefinitionв интерфейсеAttribute - Возвращает:
- Определение схемы этого атрибута. Возвращает null, если реализация поддерживает схемы, но для этого конкретного атрибута информация о схеме отсутствует.
- Выбрасывает:
-
OperationNotSupportedException— если получение схемы не поддерживается. -
NamingException— если при получении схемы возникает исключение именования.
© 1993, 2025, 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/25/docs/api/java.naming/javax/naming/directory/BasicAttribute.html