Spec-Zone.ru › OpenJDK 21

Класс 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)
Создает новый экземпляр, возможно, упорядоченного атрибута с одним значением.

Краткое описание методов

Модификатор и тип Метод Описание
void add(int ix, Object attrVal)
Добавляет значение атрибута в упорядоченный список значений атрибутов.
boolean add(Object attrVal)
Добавляет новое значение к этому атрибуту.
void clear()
Удаляет все значения из этого атрибута.
Object clone()
Создает и возвращает копию этого объекта.
boolean contains(Object attrVal)
Определяет, содержится ли значение в этом атрибуте.
boolean equals(Object obj)
Определяет, равен ли объект obj этому атрибуту.
Object get()
Извлекает одно из значений этого атрибута.
Object get(int ix)
Извлекает значение атрибута из упорядоченного списка значений атрибутов.
NamingEnumeration<?> getAll()
Возвращает перечисление значений этого атрибута.
DirContext getAttributeDefinition()
Возвращает определение схемы этого атрибута.
DirContext getAttributeSyntaxDefinition()
Возвращает определение синтаксиса, связанное с этим атрибутом.
String getID()
Возвращает идентификатор этого атрибута.
int hashCode()
Вычисляет хэш-код этого атрибута.
boolean isOrdered()
Определяет, упорядочены ли значения этого атрибута.
Object remove(int ix)
Удаляет значение атрибута из упорядоченного списка значений атрибутов.
boolean remove(Object attrval)
Удаляет указанное значение из этого атрибута.
Object set(int ix, Object attrVal)
Устанавливает значение атрибута в упорядоченном списке значений атрибутов.
int size()
Возвращает количество значений в этом атрибуте.
String toString()
Генерирует строковое представление этого атрибута.

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание полей

attrID

protected String attrID
Содержит идентификатор атрибута. Инициализируется в конструкторе и не может быть null, если методы в BasicAttribute, использующие attrID, не переопределены.

values

protected transient Vector<Object> values
Содержит значения атрибута. Инициализируется в публичных конструкторах. Не может быть null, если методы в BasicAttribute, использующие значения, не переопределены.

ordered

protected boolean ordered
Флаг, указывающий, являются ли значения этого атрибута упорядоченными.

Подробное описание конструкторов

BasicAttribute

public BasicAttribute(String id)
Создаёт новый экземпляр неупорядоченного атрибута без значения.
Parameters:
id - Идентификатор атрибута. Он не может быть null.

BasicAttribute

public BasicAttribute(String id, Object value)
Создаёт новый экземпляр неупорядоченного атрибута с одним значением.
Parameters:
id - Идентификатор атрибута. Он не может быть null.
value - Значение атрибута. Если null, то в атрибут добавляется null значение.

BasicAttribute

public BasicAttribute(String id, boolean ordered)
Создаёт новый экземпляр атрибута, который может быть упорядоченным, без значения.
Parameters:
id - Идентификатор атрибута. Он не может быть null.
ordered - true означает, что значения атрибута будут упорядоченными; в противном случае false.

BasicAttribute

public BasicAttribute(String id, Object value, boolean ordered)
Создаёт новый экземпляр атрибута, который может быть упорядоченным, с одним значением.
Parameters:
id - Идентификатор атрибута. Он не может быть null.
value - Значение атрибута. Если null, то в атрибут добавляется null значение.
ordered - true означает, что значения атрибута будут упорядоченными; в противном случае false.

Подробное описание методов

clone

public Object clone()
Описание скопировано из класса: Object
Создаёт и возвращает копию этого объекта. Точное значение "копии" может зависеть от класса объекта. Общий замысел состоит в том, что для любого объекта x, выражение:
 x.clone() != x
будет истинным, и что выражение:
 x.clone().getClass() == x.getClass()
будет true, но это не абсолютные требования. Хотя обычно верно, что:
 x.clone().equals(x)
будет true, это не является абсолютным требованием.

По соглашению, возвращаемый объект должен быть получен, вызвав super.clone. Если класс и все его суперклассы (кроме Object) следуют этому соглашению, то x.clone().getClass() == x.getClass().

По соглашению, объект, возвращаемый этим методом, должен быть независим от этого объекта (который клонируется). Для достижения этой независимости может потребоваться изменить один или несколько полей объекта, возвращаемого super.clone перед его возвращением. Обычно это означает копирование любых изменяемых объектов, которые составляют внутреннюю "глубокую структуру" клонируемого объекта и замену ссылок на эти объекты ссылками на копии. Если класс содержит только примитивные поля или ссылки на неизменяемые объекты, то обычно в объекте, возвращаемом super.clone, не нужно изменять поля.

Specified by:
clone в интерфейсе Attribute
Overrides:
clone в классе Object
Returns:
клонированный экземпляр.
See Also:
  • Cloneable

equals

public boolean equals(Object obj)
Определяет, равен ли obj этому атрибуту. Два атрибута равны, если их идентификаторы, синтаксисы и значения равны. Если значения атрибута неупорядочены, порядок добавления значений не имеет значения. Если значения атрибута упорядочены, то порядок значений должен совпадать. Если obj равен null или не является атрибутом, возвращается false.

По умолчанию Object.equals() используется при сравнении идентификатора атрибута и его значений, за исключением случая, когда значение является массивом. Для массива проверяется каждый элемент массива с помощью Object.equals(). Подкласс может переопределить это, чтобы использовать информацию о синтаксисе схемы и правила сопоставления, которые определяют, что означает равенство двух атрибутов. Как и будет ли подкласс использовать информацию схемы, определяется подклассом. Если подкласс переопределяет equals(), он также должен переопределить hashCode(), чтобы два равных атрибута имели одинаковый хэш-код.

Overrides:
equals в классе Object
Parameters:
obj - Возможно null объект для проверки.
Returns:
true, если obj равен этому атрибуту; в противном случае false.
See Also:
  • hashCode()
  • contains(java.lang.Object)

hashCode

public int hashCode()
Вычисляет хэш-код этого атрибута.

Хэш-код вычисляется путём сложения хэш-кода идентификатора атрибута и хэш-кодов всех его значений, за исключением значений, которые являются массивами. Для массива суммируется хэш-код каждого элемента массива. Если подкласс переопределяет hashCode(), он также должен переопределить equals(), чтобы два равных атрибута имели одинаковый хэш-код.

Overrides:
hashCode в классе Object
Returns:
int, представляющий хэш-код этого атрибута.
See Also:
  • equals(java.lang.Object)

toString

public String toString()
Генерирует строковое представление этого атрибута. Строка состоит из идентификатора атрибута и его значений. Эта строка предназначена для отладки и не должна интерпретироваться программно.
Overrides:
toString в классе Object
Returns:
Непустое строковое представление этого атрибута.

getAll

public NamingEnumeration<?> getAll() throws NamingException
Возвращает перечисление значений этого атрибута.

По умолчанию возвращаемые значения - это те, которые были переданы в конструктор и/или изменены с помощью методов add/replace/remove. Подкласс может переопределить это, чтобы динамически извлекать значения из каталога.

Specified by:
getAll в интерфейсе Attribute
Returns:
Непустое перечисление значений атрибута. Каждый элемент перечисления - это объект, который может быть null. Класс объекта - это класс значения атрибута. Элемент равен null, если значение атрибута равно null. Если атрибут имеет ноль значений, возвращается пустое перечисление.
Throws:
NamingException - Если при получении значений произошла ошибка именования.
See Also:
  • Attribute.isOrdered()

get

public Object get() throws NamingException
Возвращает одно из значений этого атрибута.

По умолчанию возвращаемое значение - это одно из значений, переданных в конструктор и/или изменённых с помощью методов add/replace/remove. Подкласс может переопределить это, чтобы динамически извлечь значение из каталога.

Specified by:
get в интерфейсе Attribute
Returns:
Возможный null объект, представляющий одно из значений атрибута. Он равен null, если значение атрибута равно null.
Throws:
NamingException - Если при извлечении значения произошла ошибка именования.

size

public int size()
Описание скопировано из интерфейса: Attribute
Возвращает количество значений в этом атрибуте.
Specified by:
size в интерфейсе Attribute
Returns:
Неотрицательное количество значений в этом атрибуте.

getID

public String getID()
Описание скопировано из интерфейса: Attribute
Возвращает идентификатор этого атрибута.
Specified by:
getID в интерфейсе Attribute
Returns:
Идентификатор этого атрибута. Он не может быть null.

contains

public boolean contains(Object attrVal)
Определяет, есть ли значение в этом атрибуте.

По умолчанию, Object.equals() используется при сравнении attrVal со значениями этого атрибута, за исключением случая, когда attrVal является массивом. Для массива каждый элемент массива проверяется с использованием Object.equals(). Подкласс может использовать информацию схемы для определения равенства.

Specified by:
contains в интерфейсе Attribute
Parameters:
attrVal - Возможно нулевое значение для проверки. Если null, проверяется, есть ли значение атрибута со значением null.
Returns:
true, если attrVal является одним из значений этого атрибута; иначе false.
See Also:
  • Object.equals(java.lang.Object)
  • equals(java.lang.Object)

add

public boolean add(Object attrVal)
Добавляет новое значение в этот атрибут.

По умолчанию, Object.equals() используется при сравнении attrVal со значениями этого атрибута, за исключением случая, когда attrVal является массивом. Для массива каждый элемент массива проверяется с использованием Object.equals(). Подкласс может использовать информацию схемы для определения равенства.

Specified by:
add в интерфейсе Attribute
Parameters:
attrVal - Новое возможно нулевое значение для добавления. Если null, null добавляется как значение атрибута.
Returns:
true, если значение было добавлено; иначе false.

remove

public boolean remove(Object attrval)
Удаляет указанное значение из этого атрибута.

По умолчанию, Object.equals() используется при сравнении attrVal со значениями этого атрибута, за исключением случая, когда attrVal является массивом. Для массива каждый элемент массива проверяется с использованием Object.equals(). Подкласс может использовать информацию схемы для определения равенства.

Specified by:
remove в интерфейсе Attribute
Parameters:
attrval - Возможно нулевое значение для удаления из этого атрибута. Если null, удаляется значение атрибута, равное null.
Returns:
true, если значение было удалено; иначе false.

clear

public void clear()
Описание скопировано из интерфейса: Attribute
Удаляет все значения из этого атрибута.
Specified by:
clear в интерфейсе Attribute

isOrdered

public boolean isOrdered()
Описание скопировано из интерфейса: Attribute
Определяет, являются ли значения этого атрибута упорядоченными. Если значения атрибута упорядочены, допускаются дубликаты значений. Если значения атрибута неупорядочены, они представляются в любом порядке, и дубликаты значений отсутствуют.
Specified by:
isOrdered в интерфейсе Attribute
Returns:
true, если значения этого атрибута упорядочены; иначе false.
See Also:
  • Attribute.get(int)
  • Attribute.remove(int)
  • Attribute.add(int, java.lang.Object)
  • Attribute.set(int, java.lang.Object)

get

public Object get(int ix) throws NamingException
Описание скопировано из интерфейса: Attribute
Возвращает значение атрибута из упорядоченного списка значений атрибута. Этот метод возвращает значение по ix индексу списка значений атрибута. Если значения атрибута неупорядочены, этот метод возвращает значение, которое случайно находится на этом индексе.
Specified by:
get в интерфейсе Attribute
Parameters:
ix - Индекс значения в упорядоченном списке значений атрибута. 0 <= ix < size().
Returns:
Возможно нулевое значение атрибута по индексу ix; null, если значение атрибута равно null.
Throws:
NamingException - Если при получении значения произошла ошибка именования.

remove

public Object remove(int ix)
Описание скопировано из интерфейса: Attribute
Удаляет значение атрибута из упорядоченного списка значений атрибута. Этот метод удаляет значение по ix индексу списка значений атрибута. Если значения атрибута неупорядочены, этот метод удаляет значение, которое случайно находится на этом индексе. Значения, расположенные по индексам больше ix, сдвигаются вверх к началу списка (и их индексы уменьшаются на единицу).
Specified by:
remove в интерфейсе Attribute
Parameters:
ix - Индекс значения для удаления. 0 <= ix < size().
Returns:
Возможно нулевое значение атрибута по индексу ix , которое было удалено; null, если значение атрибута равно null.

add

public void add(int ix, Object attrVal)
Описание скопировано из интерфейса: Attribute
Добавляет значение атрибута в упорядоченный список значений атрибута. Этот метод добавляет attrVal в список значений атрибутов по индексу ix. Значения, расположенные по индексам равным или большим ix, сдвигаются вниз к концу списка (и их индексы увеличиваются на единицу). Если значения атрибутов неупорядочены и уже содержат attrVal, бросается исключение IllegalStateException.
Specified by:
add в интерфейсе Attribute
Parameters:
ix - Индекс в упорядоченном списке значений атрибутов для добавления нового значения. 0 <= ix <= size().
attrVal - Возможно нулевое значение атрибута для добавления; если null, то добавляется null.

set

public Object set(int ix, Object attrVal)
Описание скопировано из интерфейса: Attribute
Устанавливает значение атрибута в упорядоченном списке значений атрибута. Этот метод устанавливает значение по ix индексу списка значений атрибутов в attrVal. Старое значение удаляется. Если значения атрибутов неупорядочены, этот метод устанавливает значение, которое случайно находится на этом индексе, в attrVal, если attrVal уже не является одним из значений. В этом случае выбрасывается IllegalStateException.
Specified by:
set в интерфейсе Attribute
Parameters:
ix - Индекс значения в упорядоченном списке значений атрибутов. 0 <= ix < size().
attrVal - Возможно нулевое значение атрибута для использования. Если null, 'null' заменяет старое значение.
Returns:
Возможно нулевое значение атрибута по индексу ix, которое было заменено. Null, если значение атрибута было null.

getAttributeSyntaxDefinition

public DirContext getAttributeSyntaxDefinition() throws NamingException
Возвращает определение синтаксиса, связанное с этим атрибутом.

Этот метод по умолчанию выбрасывает OperationNotSupportedException. Подкласс должен переопределить этот метод, если он поддерживает схему.

Specified by:
getAttributeSyntaxDefinition в интерфейсе Attribute
Returns:
Определение синтаксиса атрибута. Null, если реализация поддерживает схемы, но у этого атрибута нет информации о схеме.
Throws:
OperationNotSupportedException - Если получение схемы не поддерживается.
NamingException - Если при получении схемы произошла ошибка именования.

getAttributeDefinition

public DirContext getAttributeDefinition() throws NamingException
Возвращает определение схемы этого атрибута.

Этот метод по умолчанию выбрасывает OperationNotSupportedException. Подкласс должен переопределить этот метод, если он поддерживает схему.

Specified by:
getAttributeDefinition в интерфейсе Attribute
Returns:
Определение схемы этого атрибута. Null, если реализация поддерживает схемы, но у этого атрибута нет информации о схеме.
Throws:
OperationNotSupportedException - Если получение схемы не поддерживается.
NamingException - Если при получении схемы произошла ошибка именования.

© 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/BasicAttribute.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API