Spec-Zone.ru › OpenJDK 17

Класс 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 по умолчанию возвращает значения, переданные в его конструктор и/или изменённые с помощью методов add/remove. Подклассы 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:
строковое представление этого атрибута (не null).

getAll

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

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

Specified by:
getAll в интерфейсе Attribute
Returns:
перечисление значений атрибута (не null). Каждый элемент перечисления - это возможный null-объект Object. Класс объекта - это класс значения атрибута. Элемент равен 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, 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/BasicAttribute.html

Spec-Zone.ru

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