Класс BasicAttribute
- java.lang.Object
-
- javax.naming.directory.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<Object> | values | Содержит значения атрибута. |
Конструкторы
| Конструктор | Описание |
|---|---|
BasicAttribute(String id) | Создает новый экземпляр неупорядоченного атрибута без значений. |
BasicAttribute(String id,
boolean ordered) | Создает новый экземпляр, возможно, упорядоченного атрибута без значений. |
BasicAttribute(String id,
Object value) | Создает новый экземпляр неупорядоченного атрибута с одним значением. |
BasicAttribute(String id,
Object value,
boolean ordered) | Создает новый экземпляр, возможно, упорядоченного атрибута с одним значением. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | add(Object attrVal) | Добавляет новое значение к этому атрибуту. |
boolean | contains(Object attrVal) | Определяет, присутствует ли значение в этом атрибуте. |
boolean | equals(Object obj) | Определяет, равен ли объект этому атрибуту. |
Object | get() | Возвращает одно из значений этого атрибута. |
NamingEnumeration<?> | getAll() | Возвращает перечисление значений этого атрибута. |
DirContext | getAttributeDefinition() | Возвращает определение схемы этого атрибута. |
DirContext | getAttributeSyntaxDefinition() | Возвращает определение синтаксиса, связанное с этим атрибутом. |
int | hashCode() | Вычисляет хэш-код этого атрибута. |
boolean | remove(Object attrval) | Удаляет указанное значение из этого атрибута. |
String | toString() | Генерирует строковое представление этого атрибута. |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы, объявленные в интерфейсе javax.naming.directory.Attribute
add, clear, clone, get, getID, isOrdered, remove, set, size Поля
attrID
protected String attrID
Содержит идентификатор атрибута. Инициализируется в публичном конструкторе и не может быть null, за исключением случаев переопределения методов в BasicAttribute, использующих attrID.
values
protected transient Vector<Object> values
Содержит значения атрибута. Инициализируется в публичных конструкторах. Не может быть null, за исключением случаев переопределения методов в BasicAttribute, использующих значения.
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 в противном случае.
Методы
equals
public boolean equals(Object obj)
Определяет, равен ли obj данному атрибуту. Два атрибута равны, если их идентификаторы, синтаксисы и значения равны. Если значения атрибута неупорядочены, порядок добавления значений не имеет значения. Если значения атрибута упорядочены, порядок значений должен совпадать. Если obj равен null или не является атрибутом, возвращается false.
По умолчанию используется Object.equals(), для сравнения идентификатора атрибута и его значений, за исключением значений, являющихся массивами. Для массива каждый элемент массива проверяется с помощью Object.equals(). Подкласс может переопределить это, чтобы использовать информацию о синтаксисе схемы и правила сопоставления, определяющие, что означают два равных атрибута. Способ и необходимость использования подклассом информации о схеме определяется подклассом. Если подкласс переопределяет equals(), он также должен переопределить hashCode(), чтобы два равных атрибута имели одинаковый хэш-код.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- Возможно null-объект для проверки. - Возвращает:
- true, если obj равен данному атрибуту; false в противном случае.
- См. также:
-
hashCode(),contains(java.lang.Object)
hashCode
public int hashCode()
Вычисляет хэш-код данного атрибута.
Хэш-код вычисляется путём сложения хэш-кода идентификатора атрибута и всех его значений, кроме значений, являющихся массивами. Для массива суммируется хэш-код каждого элемента массива. Если подкласс переопределяет hashCode(), он также должен переопределить equals(), чтобы два равных атрибута имели одинаковый хэш-код.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- int, представляющий хэш-код данного атрибута.
- См. также:
equals(java.lang.Object)
toString
public String toString()
Генерирует строковое представление данного атрибута. Строка состоит из идентификатора атрибута и его значений. Данная строка предназначена для отладки и не предназначена для программной интерпретации.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- Не нулевое строковое представление данного атрибута.
getAll
public NamingEnumeration<?> getAll()
throws NamingException Возвращает перечисление значений данного атрибута.
По умолчанию возвращаемые значения — те, которые были переданы в конструктор и/или изменены с помощью методов добавления/замены/удаления. Подкласс может переопределить этот метод, чтобы динамически извлекать значения из каталога.
- Определено в:
-
getAllв интерфейсеAttribute - Возвращает:
- Не нулевое перечисление значений атрибута. Каждый элемент перечисления — это возможный null-объект Object. Класс объекта — это класс значения атрибута. Элемент равен null, если значение атрибута равно null. Если атрибут имеет ноль значений, возвращается пустое перечисление.
- Исключения:
-
NamingException- Если при извлечении значений возникла ошибка именования. - См. также:
Attribute.isOrdered()
get
public Object get()
throws NamingException Возвращает одно из значений данного атрибута.
По умолчанию возвращаемое значение — одно из тех, которые были переданы в конструктор и/или изменены с помощью методов добавления/замены/удаления. Подкласс может переопределить этот метод, чтобы динамически извлекать значение из каталога.
- Определено в:
-
getв интерфейсеAttribute - Возвращает:
- Возможный null-объект, представляющий одно из значений атрибута. Он равен null, если значение атрибута равно null.
- Исключения:
-
NamingException- Если при извлечении значения возникла ошибка именования.
contains
public boolean contains(Object attrVal)
Определяет, содержится ли значение в данном атрибуте.
По умолчанию используется Object.equals(), для сравнения attrVal со значениями данного атрибута, за исключением случаев, когда attrVal является массивом. Для массива каждый элемент массива проверяется с помощью Object.equals(). Подкласс может использовать информацию схемы для определения равенства.
- Определено в:
-
containsв интерфейсеAttribute - Параметры:
-
attrVal- Возможное null-значение для проверки. Если null, проверяется, есть ли в атрибуте значение, равное null. - Возвращает:
- true, если attrVal является одним из значений данного атрибута; false в противном случае.
- См. также:
-
Object.equals(java.lang.Object),equals(java.lang.Object)
add
public boolean add(Object attrVal)
Добавляет новое значение к данному атрибуту.
По умолчанию используется Object.equals(), для сравнения attrVal со значениями данного атрибута, за исключением случаев, когда attrVal является массивом. Для массива каждый элемент массива проверяется с помощью Object.equals(). Подкласс может использовать информацию схемы для определения равенства.
- Определено в:
-
addв интерфейсеAttribute - Параметры:
-
attrVal- Новое возможное null-значение для добавления. Если null, null добавляется как значение атрибута. - Возвращает:
- true, если значение было добавлено; false в противном случае.
remove
public boolean remove(Object attrval)
Удаляет указанное значение из данного атрибута.
По умолчанию используется Object.equals(), для сравнения attrVal со значениями данного атрибута, за исключением случаев, когда attrVal является массивом. Для массива каждый элемент массива проверяется с помощью Object.equals(). Подкласс может использовать информацию схемы для определения равенства.
- Определено в:
-
removeв интерфейсеAttribute - Параметры:
-
attrval- Возможное null-значение для удаления из данного атрибута. Если null, удаляется значение атрибута, равное null. - Возвращает:
- true, если значение было удалено; false в противном случае.
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, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.naming/javax/naming/directory/BasicAttribute.html