Класс 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

Spec-Zone .ru
спецификации, руководства, описания, API