Класс 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, должны заблокировать объект.
- C момента:
- 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, использующие values, не переопределены.
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 в противном случае.
Методы
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, изменять не нужно.
Метод clone для класса Object выполняет определённую операцию клонирования. Во-первых, если класс этого объекта не реализует интерфейс Cloneable, то генерируется CloneNotSupportedException. Обратите внимание, что все массивы считаются реализующими интерфейс Cloneable и что тип возвращаемого значения метода clone для типа массива T[] является T[], где T — любой ссылочный или примитивный тип. В противном случае этот метод создаёт новый экземпляр класса этого объекта и инициализирует все его поля точно таким же содержимым, что и соответствующие поля этого объекта, как будто присваиванием; содержимое полей не клонируется само по себе. Таким образом, этот метод выполняет "поверхностную копию" этого объекта, а не операцию "глубокой копии".
Класс Object сам не реализует интерфейс Cloneable, поэтому вызов метода clone для объекта, класс которого Object, приведёт к генерации исключения во время выполнения.
- Указано в:
-
cloneв интерфейсеAttribute - Переопределяет:
-
cloneв классеObject - Возвращает:
- клонированный экземпляр.
- См. также:
Cloneable
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 - Возвращает:
- целое число, представляющее хэш-код этого атрибута.
- См. также:
equals(java.lang.Object)
toString
public String toString()
Генерирует строковое представление этого атрибута. Строка состоит из идентификатора атрибута и его значений. Эта строка предназначена для отладки и не предназначена для программной интерпретации.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- непустое строковое представление этого атрибута.
getAll
public NamingEnumeration<?> getAll()
throws NamingException Возвращает перечисление значений этого атрибута.
По умолчанию, возвращаемые значения — это те, которые были переданы в конструктор и/или изменены с помощью методов add/replace/remove. Подкласс может переопределить этот метод для динамического получения значений из каталога.
- Указано в:
-
getAllв интерфейсеAttribute - Возвращает:
- непустое перечисление значений атрибута. Каждый элемент перечисления — это, возможно, null, Object. Класс объекта — это класс значения атрибута. Элемент равен null, если значение атрибута равно null. Если у атрибута нет значений, возвращается пустое перечисление.
- Исключения:
-
NamingException- Если при получении значений возникло исключение именования. - См. также:
Attribute.isOrdered()
get
public Object get()
throws NamingException Возвращает одно из значений этого атрибута.
По умолчанию возвращаемое значение — это одно из тех, что было передано в конструктор и/или изменено с помощью методов add/replace/remove. Подкласс может переопределить этот метод для динамического получения значения из каталога.
- Указано в:
-
getв интерфейсеAttribute - Возвращает:
- возможно null объект, представляющий одно из значений атрибута. Он равен null, если значение атрибута равно null.
- Исключения:
-
NamingException- Если при получении значения возникло исключение именования.
size
public int size()
Описание скопировано из интерфейса: Attribute
Возвращает количество значений в этом атрибуте.
- Указано в:
-
sizeв интерфейсеAttribute - Возвращает:
- неотрицательное количество значений в этом атрибуте.
getID
public String getID()
Описание скопировано из интерфейса: Attribute
Возвращает идентификатор этого атрибута.
- Указано в:
-
getIDв интерфейсеAttribute - Возвращает:
- Идентификатор этого атрибута. Не может быть null.
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.
clear
public void clear()
Описание скопировано из интерфейса: Attribute
Удаляет все значения из этого атрибута.
isOrdered
public boolean isOrdered()
Описание скопировано из интерфейса: Attribute
Определяет, упорядочены ли значения этого атрибута. Если значения атрибута упорядочены, допускаются дубликаты значений. Если значения атрибута неупорядочены, они представлены в любом порядке, и дубликаты значений отсутствуют.
- Определено в:
-
isOrderedв интерфейсеAttribute - Возвращает:
- true, если значения этого атрибута упорядочены; иначе false.
- См. также:
-
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 индексу списка значений атрибута. Если значения атрибута неупорядочены, этот метод возвращает значение, которое случайно находится на этом индексе.
- Определено в:
-
getв интерфейсеAttribute - Параметры:
-
ix- Индекс значения в упорядоченном списке значений атрибута.0 <= ix < size(). - Возвращает:
- Возможно, null значение атрибута по индексу
ix; null, если значение атрибута равно null. - Исключения:
-
NamingException- Если при получении значения возникло исключение имени.
remove
public Object remove(int ix)
Описание скопировано из интерфейса: Attribute
Удаляет значение атрибута из упорядоченного списка значений атрибута. Этот метод удаляет значение по ix индексу списка значений атрибута. Если значения атрибута неупорядочены, этот метод удаляет значение, которое случайно находится на этом индексе. Значения, расположенные по индексам, большим, чем ix, сдвигаются вверх к началу списка (и их индексы уменьшаются на единицу).
- Определено в:
-
removeв интерфейсеAttribute - Параметры:
-
ix- Индекс удаляемого значения.0 <= ix < size(). - Возвращает:
- Возможно, null значение атрибута по индексу
ix, которое было удалено; null, если значение атрибута равно null.
add
public void add(int ix,
Object attrVal) Описание скопировано из интерфейса: Attribute
Добавляет значение атрибута в упорядоченный список значений атрибута. Этот метод добавляет attrVal в список значений атрибута по индексу ix. Значения, расположенные по индексам, равным или большим, чем ix, сдвигаются вниз к концу списка (и их индексы увеличиваются на единицу). Если значения атрибута неупорядочены и уже имеют attrVal, выбрасывается IllegalStateException.
- Определено в:
-
addв интерфейсеAttribute - Параметры:
-
ix- Индекс в упорядоченном списке значений атрибута для добавления нового значения.0 <= ix <= size(). -
attrVal- Возможно, null значение атрибута для добавления; если null, добавляется null.
set
public Object set(int ix,
Object attrVal) Описание скопировано из интерфейса: Attribute
Устанавливает значение атрибута в упорядоченном списке значений атрибута. Этот метод устанавливает значение по ix индексу списка значений атрибута в attrVal. Старое значение удаляется. Если значения атрибута неупорядочены, этот метод устанавливает значение, которое случайно находится на этом индексе, в attrVal, если attrVal не является уже одним из значений. В этом случае выбрасывается IllegalStateException.
- Определено в:
-
setв интерфейсеAttribute - Параметры:
-
ix- Индекс значения в упорядоченном списке значений атрибута.0 <= ix < size(). -
attrVal- Возможно, null значение атрибута для использования. Если null, 'null' заменяет старое значение. - Возвращает:
- Возможно, null значение атрибута по индексу ix, которое было заменено. Null, если значение атрибута было null.
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.