Класс 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 |
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:
- Непустое строковое представление этого атрибута.
getAll
public NamingEnumeration<?> getAll() throws NamingException
По умолчанию возвращаемые значения - это те, которые были переданы в конструктор и/или изменены с помощью методов add/replace/remove. Подкласс может переопределить это, чтобы динамически извлекать значения из каталога.
- Specified by:
-
getAllв интерфейсеAttribute - Returns:
- Непустое перечисление значений атрибута. Каждый элемент перечисления - это объект, который может быть null. Класс объекта - это класс значения атрибута. Элемент равен 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, 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