Класс 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 |
Создаёт новый экземпляр неупорядоченного атрибута без значения. |
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)
- 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()
Objectx, выражение: будет истинным, и что выражение: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:
equals
public boolean equals(Object obj)
По умолчанию Object.equals() используется при сравнении идентификатора атрибута и его значений, за исключением значений, являющихся массивами. Для массива каждый элемент массива проверяется с помощью Object.equals(). Подкласс может переопределить это, чтобы использовать информацию о синтаксисе схемы и правила соответствия, определяющие, что означает равенство двух атрибутов. Как и использует ли подкласс информацию о схеме, определяется подклассом. Если подкласс переопределяет equals(), он также должен переопределить hashCode(), чтобы два равных атрибута имели одинаковый код хеширования.
- Overrides:
-
equalsв классеObject - Parameters:
-
obj- Возможный null-объект для проверки. - Returns:
- true, если obj равен этому атрибуту; иначе false.
- See Also:
hashCode
public int hashCode()
Код хеширования вычисляется путём сложения кода хеширования идентификатора атрибута и кода хеширования всех его значений, за исключением значений, являющихся массивами. Для массива код хеширования каждого элемента массива суммируется. Если подкласс переопределяет hashCode(), он также должен переопределить equals(), чтобы два равных атрибута имели одинаковый код хеширования.
- Overrides:
-
hashCodeв классеObject - Returns:
- int, представляющий код хеширования этого атрибута.
- See Also:
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:
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:
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:
get
public Object get(int ix) throws NamingException
Attributeix индексу списка значений атрибута. Если значения атрибута неупорядочены, этот метод возвращает значение, которое оказывается на этом индексе.- Specified by:
-
getв интерфейсеAttribute - Parameters:
-
ix- Индекс значения в упорядоченном списке значений атрибутов.0 <= ix < size(). - Returns:
- Возможное нулевое значение атрибута по индексу
ix; null, если значение атрибута равно null. - Throws:
-
NamingException- Если при получении значения возникло исключение связанное с именованием.
remove
public Object remove(int ix)
Attributeix индексу списка значений атрибута. Если значения атрибута неупорядочены, этот метод удаляет значение, которое оказывается на этом индексе. Значения, расположенные по индексам, большим чем ix, смещаются к началу списка (и их индексы уменьшаются на единицу).- Specified by:
-
removeв интерфейсеAttribute - Parameters:
-
ix- Индекс значения для удаления.0 <= ix < size(). - Returns:
- Возможное нулевое значение атрибута по индексу
ixчто было удалено; null, если значение атрибута равно null.
add
public void add(int ix, Object attrVal)
AttributeattrVal в список значений атрибута по индексу ix. Значения, расположенные по индексам, равным или большим чем ix, смещаются вниз к концу списка (и их индексы увеличиваются на единицу). Если значения атрибута неупорядочены и уже содержат attrVal, выбрасывается IllegalStateException. - Specified by:
-
addв интерфейсеAttribute - Parameters:
-
ix- Индекс в упорядоченном списке значений атрибутов для добавления нового значения.0 <= ix <= size(). -
attrVal- Возможное нулевое значение атрибута для добавления; если null, добавляется null.
set
public Object set(int ix, Object attrVal)
Attributeix индексу списка значений атрибута на 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