Spec-Zone .ru
спецификации, руководства, описания, API
|
public class BasicAttribute extends Object implements Attribute
Эта реализация не поддерживает методы getAttributeDefinition() и getAttributeSyntaxDefinition() схемы. Они просто бросают OperationNotSupportedException. Подклассы BasicAttribute должны переопределить эти методы, если они поддерживают их.
Класс BasicAttribute использованием по умолчанию Object.equals(), чтобы определить равенство значений атрибута, тестируя на равенство или ища значения, кроме тех случаев, когда значение является массивом. Для массива каждый элемент массива проверяется, используя Object.equals(). Подклассы BasicAttribute могут использовать информацию о схеме, когда выполнение подобного равенства проверяет методы переопределения, в которых такое использование схемы значимо. Точно так же класс BasicAttribute значением по умолчанию возвращает значения, которые передают его конструктору и/или использованию, которым управляют, добавить/удалить методы. Подклассы BasicAttribute могут переопределить get() и getAll(), чтобы получить значения динамически из каталога (или реализовать интерфейс Attribute непосредственно вместо того, чтобы разделить на подклассы BasicAttribute).
Отметьте, что обновления к BasicAttribute (такие как добавление или удаление значения) не влияют на соответствующее представление атрибута в каталоге. Обновления к каталогу могут только быть произведены, используя операции в интерфейсе DirContext.
Экземпляр BasicAttribute не синхронизируется против параллельного многопоточного доступа. Многократные потоки, пытающиеся получить доступ и изменить BasicAttribute, должны заблокировать объект.
Модификатор и Тип | Поле и Описание |
---|---|
protected String |
attrID
Содержит идентификатор атрибута.
|
protected boolean |
упорядоченный
Флаг для того, чтобы записать, упорядочиваются ли значения этого атрибута.
|
protected Vector<Object> |
значения
Содержит значения атрибута.
|
Конструктор и Описание |
---|
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()
Удаляет все значения из этого атрибута.
|
Объект |
clone()
Создает и возвращает копию этого объекта.
|
boolean |
contains(Object attrVal)
Определяет, является ли значение в этом атрибуте.
|
boolean |
equals(Object obj)
Определяет, равен ли obj этому атрибуту.
|
Объект |
get()
Получает одно из значений этого атрибута.
|
Объект |
get(int ix)
Получает значение атрибута от упорядоченного списка значений атрибута.
|
NamingEnumeration<?> |
getAll()
Получает перечисление значений этого атрибута.
|
DirContext |
getAttributeDefinition()
Получает определение схемы этого атрибута.
|
DirContext |
getAttributeSyntaxDefinition()
Получает определение синтаксиса, связанное с этим атрибутом.
|
Строка |
getID()
Получает идентификатор этого атрибута.
|
int |
hashCode()
Вычисляет хэш-код этого атрибута.
|
boolean |
isOrdered()
Определяет, упорядочиваются ли значения этого атрибута.
|
Объект |
remove(int ix)
Удаляет значение атрибута из упорядоченного списка значений атрибута.
|
boolean |
remove(Object attrval)
Удаляет указанное значение из этого атрибута.
|
Объект |
set(int ix, Object attrVal)
Устанавливает значение атрибута в упорядоченном списке значений атрибута.
|
int |
size()
Получает число значений в этом атрибуте.
|
Строка |
toString()
Генерирует строковое представление этого атрибута.
|
protected String attrID
protected transient Vector<Object> values
protected boolean ordered
public BasicAttribute(String id)
id
- Идентификатор атрибута. Это не может быть нуль.public BasicAttribute(String id, Object value)
id
- Идентификатор атрибута. Это не может быть нуль.value
- Значение атрибута. Если ноль, нулевое значение добавляется к атрибуту.public BasicAttribute(String id, boolean ordered)
id
- Идентификатор атрибута. Это не может быть нуль.ordered
- истина означает, что значения атрибута будут упорядочены; ложь иначе.public BasicAttribute(String id, Object value, boolean ordered)
id
- Идентификатор атрибута. Это не может быть нуль.value
- Значение атрибута. Если ноль, нулевое значение добавляется к атрибуту.ordered
- истина означает, что значения атрибута будут упорядочены; ложь иначе.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
, тогда a CloneNotSupportedException
бросается. Отметьте, что все массивы, как полагают, реализуют интерфейс Cloneable
и что тип возврата clone
метод типа массива T[]
T[]
где T является любым ссылочным типом или типом примитива. Иначе, этот метод создает новый экземпляр класса этого объекта и инициализирует все его поля с точно содержанием соответствующих полей этого объекта, как будто присвоением; содержание полей самостоятельно не клонируется. Таким образом этот метод выполняет "мелкую копию" этого объекта, не "глубокой копии" работа.
Класс Object
самостоятельно не реализует интерфейс Cloneable
, так вызов clone
метод на объекте, класс которого Object
приведет к выдаче исключения во время выполнения.
public boolean equals(Object obj)
Object.equals() по умолчанию используется, сравнивая идентификатор атрибута и его значения кроме тех случаев, когда значение является массивом. Для массива каждый элемент массива проверяется, используя Object.equals(). Подкласс может переопределить это, чтобы использовать информацию о синтаксисе схемы и соответствие правил, которые определяют то, что это означает для двух атрибутов быть равным. Как и использует ли подкласс информацию о схеме, определяется подклассом. Если подкласс переопределяет equals(), он должен также переопределить hashCode() так, что два атрибута, которые равны, имеют тот же самый хэш-код.
equals
в классе Object
obj
- Возможно нуль возражают, чтобы проверить.hashCode()
, contains(java.lang.Object)
public int hashCode()
Хэш-код вычисляется, добавляя хэш-код идентификатора атрибута и то изо всех его значений за исключением значений, которые являются массивами. Для массива суммируется хэш-код каждого элемента массива. Если подкласс переопределяет hashCode(), он должен переопределить equals() также так, чтобы у двух атрибутов, которые равны, был тот же самый хэш-код.
hashCode
в классе Object
equals(java.lang.Object)
public String toString()
public NamingEnumeration<?> getAll() throws NamingException
По умолчанию возвращенные значения являются теми, которых передают конструктору и/или использованию, которым управляют, добавить/заменить/удалить методы. Подкласс может переопределить это, чтобы получить значения динамически из каталога.
getAll
в интерфейсе Attribute
NamingException
- Если с исключением именования встретились, получая значения.Attribute.isOrdered()
public Object get() throws NamingException
По умолчанию возвращенное значение является одним из тех, которых передают конструктору и/или использованию, которым управляют, добавить/заменить/удалить методы. Подкласс может переопределить это, чтобы получить значение динамически из каталога.
get
в интерфейсе Attribute
NamingException
- Если с исключением именования встретились, получая значение.public int size()
Attribute
public String getID()
Attribute
public boolean contains(Object attrVal)
По умолчанию Object.equals() используется, сравнивая attrVal со значениями этого атрибута кроме тех случаев, когда attrVal является массивом. Для массива каждый элемент массива проверяется, используя Object.equals(). Подкласс может использовать информацию о схеме, чтобы определить равенство.
contains
в интерфейсе Attribute
attrVal
- Возможно нулевое значение, чтобы проверить. Если ноль, проверьте, есть ли у атрибута значение атрибута, значение которого является нулем.Object.equals(java.lang.Object)
, equals(java.lang.Object)
public boolean add(Object attrVal)
По умолчанию Object.equals() используется, сравнивая attrVal со значениями этого атрибута кроме тех случаев, когда attrVal является массивом. Для массива каждый элемент массива проверяется, используя Object.equals(). Подкласс может использовать информацию о схеме, чтобы определить равенство.
public boolean remove(Object attrval)
По умолчанию Object.equals() используется, сравнивая attrVal со значениями этого атрибута кроме тех случаев, когда attrVal является массивом. Для массива каждый элемент массива проверяется, используя Object.equals(). Подкласс может использовать информацию о схеме, чтобы определить равенство.
public void clear()
Attribute
public boolean isOrdered()
Attribute
isOrdered
в интерфейсе Attribute
Attribute.get(int)
, Attribute.remove(int)
, Attribute.add(int, java.lang.Object)
, Attribute.set(int, java.lang.Object)
public Object get(int ix) throws NamingException
Attribute
get
в интерфейсе Attribute
ix
- Индекс значения в упорядоченном списке значений атрибута. 0 <= ixsize ().
NamingException
- Если с исключением именования встретились, получая значение.public Object remove(int ix)
Attribute
public void add(int ix, Object attrVal)
Attribute
public Object set(int ix, Object attrVal)
Attribute
set
в интерфейсе Attribute
ix
- Индекс значения в упорядоченном списке значений атрибута. 0 <= ixsize ().attrVal
- Возможно неопределенный атрибут оценивает использованию. Если ноль, 'нуль' заменяет старое значение.public DirContext getAttributeSyntaxDefinition() throws NamingException
Этот метод бросками по умолчанию OperationNotSupportedException. Подкласс должен переопределить этот метод, если это поддерживает схему.
getAttributeSyntaxDefinition
в интерфейсе Attribute
OperationNotSupportedException
- Если получение схемы не поддерживается.NamingException
- Если исключение именования происходит, получая схему.public DirContext getAttributeDefinition() throws NamingException
Этот метод бросками по умолчанию OperationNotSupportedException. Подкласс должен переопределить этот метод, если это поддерживает схему.
getAttributeDefinition
в интерфейсе Attribute
OperationNotSupportedException
- Если получение схемы не поддерживается.NamingException
- Если исключение именования происходит, получая схему.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.