Справочник по классу
- java.lang.Object
-
- javax.naming.Reference
- Все реализованные интерфейсы:
- Serializable, Cloneable
- Прямые известные подклассы:
- LinkRef
public class Reference extends Object implements Cloneable, Serializable
Этот класс представляет ссылку на объект, который находится за пределами системы именования/каталога.
Reference предоставляет способ записи информации об адресе объектов, которые сами не связаны непосредственно с системой именования/каталога.
Ссылка состоит из упорядоченного списка адресов и информации о классе объекта, на который она ссылается. Каждый адрес в списке идентифицирует конечную точку связи для одного концептуального объекта. "Конечная точка связи" — это информация о том, как связаться с объектом. Это может быть, например, сетевой адрес, расположение в памяти на локальном компьютере, другой процесс на том же компьютере и т. д. Порядок адресов в списке может иметь значение для фабрик объектов, которые интерпретируют ссылку.
Несколько адресов могут возникнуть по различным причинам, таким как репликация или объект, предлагающий интерфейсы через более чем один механизм связи. Адреса индексируются, начиная с нуля.
Ссылка также содержит информацию, которая поможет создать экземпляр объекта, на который ссылается эта ссылка. Она содержит имя класса этого объекта, а также имя и расположение класса фабрики, используемой для создания объекта. Расположение класса фабрики — это список URL-адресов, разделенных пробелами, представляющих путь к классу, используемый для загрузки фабрики. При необходимости загрузки класса фабрики (или любого класса или ресурса, от которого он зависит), каждый URL используется (по порядку) для попытки загрузки класса.
Экземпляр Reference не синхронизирован по отношению к одновременному доступу нескольких потоков. Потоки, которым нужно одновременно получить доступ к одной ссылке, должны синхронизироваться между собой и обеспечить необходимое блокирование.
- С тех пор:
- 1.3
- См. также:
-
RefAddr,StringRefAddr,BinaryRefAddr, Сериализованная форма
Краткое описание полей
| Модификатор и тип | Поле и описание |
|---|---|
protected Vector<RefAddr> |
addrs Содержит адреса, содержащиеся в этой ссылке. |
protected String |
classFactory Содержит имя класса фабрики для создания экземпляра объекта, на который ссылается эта ссылка. |
protected String |
classFactoryLocation Содержит расположение класса фабрики. |
protected String |
className Содержит полное имя класса объекта, на который ссылается эта ссылка. |
Краткое описание конструкторов
| Конструктор и описание |
|---|
Reference(String className) Создаёт новую ссылку для объекта с именем класса 'className'. |
Reference(String className,
RefAddr addr) Создаёт новую ссылку для объекта с именем класса 'className' и адресом. |
Reference(String className,
RefAddr addr,
String factory,
String factoryLocation) Создаёт новую ссылку для объекта с именем класса 'className', именем и расположением класса фабрики объекта и адресом объекта. |
Reference(String className,
String factory,
String factoryLocation) Создаёт новую ссылку для объекта с именем класса 'className' и именем и расположением класса фабрики объекта. |
Краткое описание методов
| Модификатор и тип | Метод и описание |
|---|---|
void |
add(int posn,
RefAddr addr) Добавляет адрес в список адресов по индексу posn. |
void |
add(RefAddr addr) Добавляет адрес в конец списка адресов. |
void |
clear() Удаляет все адреса из этой ссылки. |
Object |
clone() Создаёт копию этой ссылки, используя её имя класса, список адресов, имя класса фабрики и расположение класса фабрики. |
boolean |
equals(Object obj) Определяет, является ли obj ссылкой с теми же адресами (в том же порядке), что и эта ссылка. |
RefAddr |
get(int posn) Возвращает адрес по индексу posn. |
RefAddr |
get(String addrType) Возвращает первый адрес, имеющий тип адреса 'addrType'. |
Enumeration<RefAddr> |
getAll() Возвращает перечисление адресов в этой ссылке. |
String |
getClassName() Возвращает имя класса объекта, на который ссылается эта ссылка. |
String |
getFactoryClassLocation() Возвращает расположение фабрики объекта, на который ссылается эта ссылка. |
String |
getFactoryClassName() Возвращает имя класса фабрики объекта, на который ссылается эта ссылка. |
int |
hashCode() Вычисляет хэш-код этой ссылки. |
Object |
remove(int posn) Удаляет адрес по индексу posn из списка адресов. |
int |
size() Возвращает количество адресов в этой ссылке. |
String |
toString() Генерирует строковое представление этой ссылки. |
Методы, унаследованные от класса java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait Поля
className
protected String className
Содержит полное имя класса объекта, на который ссылается эта Reference.
- См. также:
Class.getName()
addrs
protected Vector<RefAddr> addrs
Содержит адреса, содержащиеся в этой Reference. Инициализируется конструктором.
classFactory
protected String classFactory
Содержит имя класса фабрики для создания экземпляра объекта, на который ссылается эта Reference. Инициализируется значением null.
classFactoryLocation
protected String classFactoryLocation
Содержит расположение класса фабрики. Инициализируется значением null.
Конструкторы
Reference
public Reference(String className)
Создаёт новую ссылку на объект с именем класса 'className'. Фабрика класса и расположение фабрики класса устанавливаются в null. Новая ссылка содержит ноль адресов.
- Параметры:
-
className- Непустое имя класса объекта, на который ссылается эта ссылка.
Reference
public Reference(String className,
RefAddr addr) Создаёт новую ссылку на объект с именем класса 'className' и адресом. Фабрика класса и расположение фабрики класса устанавливаются в null.
- Параметры:
-
className- Непустое имя класса объекта, на который ссылается эта ссылка. -
addr- Непустой адрес объекта.
Reference
public Reference(String className,
String factory,
String factoryLocation) Создаёт новую ссылку на объект с именем класса 'className' и именем и расположением фабрики объекта.
- Параметры:
-
className- Непустое имя класса объекта, на который ссылается эта ссылка. -
factory- Возможно пустое имя класса фабрики объекта. -
factoryLocation- Возможно пустое расположение для загрузки фабрики (например, URL) - См. также:
-
ObjectFactory,NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)
Reference
public Reference(String className,
RefAddr addr,
String factory,
String factoryLocation) Создаёт новую ссылку на объект с именем класса 'className', именем и расположением фабрики объекта, а также адресом объекта.
- Параметры:
-
className- Непустое имя класса объекта, на который ссылается эта ссылка. -
factory- Возможно пустое имя класса фабрики объекта. -
factoryLocation- Возможно пустое расположение для загрузки фабрики (например, URL) -
addr- Непустой адрес объекта. - См. также:
-
ObjectFactory,NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)
Методы
getClassName
public String getClassName()
Возвращает имя класса объекта, на который ссылается эта ссылка.
- Возвращает:
- Непустое полное имя класса объекта (например, "java.lang.String").
getFactoryClassName
public String getFactoryClassName()
Возвращает имя класса фабрики объекта, на который ссылается эта ссылка.
- Возвращает:
- Возможно пустое полное имя класса фабрики (например, "java.lang.String").
getFactoryClassLocation
public String getFactoryClassLocation()
Возвращает расположение фабрики объекта, на который ссылается эта ссылка. Если это база кода, то это упорядоченный список URL-адресов, разделённых пробелами, перечисляющих расположения, из которых должен загружаться код класса фабрики.
- Возвращает:
- Возможно пустая строка, содержащая расположение для загрузки класса фабрики.
get
public RefAddr get(String addrType)
Возвращает первый адрес, имеющий тип адреса 'addrType'. Для проверки равенства типов адресов используется String.compareTo().
- Параметры:
-
addrType- Непустой тип адреса, для которого нужно найти адрес. - Возвращает:
- Адрес в этой ссылке с типом адреса 'addrType'; null, если такого адреса не существует.
get
public RefAddr get(int posn)
Возвращает адрес по индексу posn.
- Параметры:
-
posn- Индекс адреса для извлечения. - Возвращает:
- Адрес по индексу posn (с нулевой базой). Он должен находиться в диапазоне [0, getAddressCount()).
- Исключения:
-
ArrayIndexOutOfBoundsException- Если posn не в указанном диапазоне.
getAll
public Enumeration<RefAddr> getAll()
Возвращает перечисление адресов в этой ссылке. Когда адреса добавляются, изменяются или удаляются из этой ссылки, её влияние на это перечисление не определено.
- Возвращает:
- Непустое перечисление адресов (
RefAddr) в этой ссылке. Если в этой ссылке нет адресов, возвращается перечисление с нулевыми элементами.
size
public int size()
Возвращает количество адресов в этой ссылке.
- Возвращает:
- Неотрицательное количество адресов в этой ссылке.
add
public void add(RefAddr addr)
Добавляет адрес в конец списка адресов.
- Параметры:
-
addr- Непустой адрес для добавления.
add
public void add(int posn,
RefAddr addr) Добавляет адрес в список адресов по индексу posn. Все адреса с индексом posn или выше сдвигаются в списке вверх на единицу (от индекса 0).
- Параметры:
-
posn- Индекс списка (с нулевой базой) для вставки addr. -
addr- Непустой адрес для добавления. - Исключения:
-
ArrayIndexOutOfBoundsException- Если posn не в указанном диапазоне.
remove
public Object remove(int posn)
Удаляет адрес по индексу posn из списка адресов. Все адреса с индексом больше posn сдвигаются в списке вниз на единицу (в сторону индекса 0).
- Параметры:
-
posn- Индекс адреса для удаления (с нулевой базой). - Возвращает:
- Удаленный адрес.
- Исключения:
-
ArrayIndexOutOfBoundsException- Если posn не в указанном диапазоне.
clear
public void clear()
Удаляет все адреса из этой ссылки.
equals
public boolean equals(Object obj)
Определяет, является ли obj ссылкой с теми же адресами (в том же порядке), что и эта ссылка. Адреса проверяются с помощью RefAddr.equals(). Помимо наличия тех же адресов, у Reference также должно быть то же имя класса, что и у этой ссылки. Фабрика класса и расположение фабрики класса не проверяются. Если obj равен null или не является экземпляром Reference, возвращается null.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- Возможно пустой объект для проверки. - Возвращает:
- true, если obj равен этой ссылке; false в противном случае.
- См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Вычисляет хэш-код этой ссылки. Хэш-код — это сумма хэш-кодов её адресов.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- Хэш-код этой ссылки в виде целого числа.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Генерирует строковое представление этой ссылки. Строка состоит из имени класса, на который ссылается эта ссылка, и строкового представления каждого из её адресов. Это представление предназначено только для отображения и не должно интерпретироваться.
clone
public Object clone()
Создаёт копию этой ссылки, используя её имя класса, список адресов, имя фабрики класса и расположение фабрики класса. Изменения в созданной копии не влияют на эту Reference и наоборот.
© 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.