Ссылка на класс
- Все реализованные интерфейсы:
-
Serializable,Cloneable
- Прямые известные подклассы:
LinkRef
public class Reference extends Object implements Cloneable, Serializable
Reference предоставляет способ записи информации об адресе объектов, которые сами по себе не связаны напрямую с системой именования/каталога.
Ссылка состоит из упорядоченного списка адресов и информации о классе объекта, на который она ссылается. Каждый адрес в списке идентифицирует точку доступа к коммуникациям для одного концептуального объекта. "Точка доступа к коммуникациям" — это информация, указывающая, как связаться с объектом. Это может быть, например, сетевой адрес, местоположение в памяти на локальной машине, другой процесс на той же машине и т. д. Порядок адресов в списке может иметь значение для фабрик объектов, которые интерпретируют ссылку.
Несколько адресов могут возникнуть по разным причинам, таким как репликация или объект, предоставляющий интерфейсы по нескольким механизмам связи. Адреса индексируются, начиная с нуля.
Ссылка также содержит информацию для помощи в создании экземпляра объекта, на который ссылается эта ссылка. Она содержит имя класса этого объекта, а также имя класса и местоположение фабрики, которая должна использоваться для создания объекта. Местоположение фабрики класса — это список URL-адресов, разделенных пробелами, представляющих путь к классу для загрузки фабрики. Когда необходимо загрузить класс фабрики (или любой класс или ресурс, от которого он зависит), каждый URL-адрес используется (в порядке следования) для попытки загрузки класса.
Экземпляр Reference не синхронизирован по отношению к одновременным обращениям с помощью нескольких потоков. Потоки, которым необходимо одновременно получить доступ к одной ссылке, должны синхронизироваться между собой и обеспечить необходимые блокировки.
- С:
- 1.3
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Vector<RefAddr> |
addrs |
Содержит адреса, содержащиеся в этой ссылке. |
protected String |
classFactory |
Содержит имя класса фабрики для создания экземпляра объекта, на который ссылается эта ссылка. |
protected String |
classFactoryLocation |
Содержит местоположение класса фабрики. |
protected String |
className |
Содержит полное имя класса объекта, на который ссылается эта ссылка. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Reference |
Создаёт новую ссылку на объект с именем класса 'className'. |
Reference |
Создаёт новую ссылку на объект с именем класса 'className' и именем и местоположением фабрики объекта. |
Reference |
Создаёт новую ссылку на объект с именем класса 'className' и адресом. |
Reference |
Создаёт новую ссылку на объект с именем класса 'className', именем и местоположением фабрики объекта, и адресом объекта. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Добавляет адрес в список адресов по индексу posn. |
void |
add |
Добавляет адрес в конец списка адресов. |
void |
clear() |
Удаляет все адреса из этой ссылки. |
Object |
clone() |
Создаёт копию этой ссылки, используя её имя класса, список адресов, имя фабрики класса и местоположение фабрики класса. |
boolean |
equals |
Определяет, является ли obj ссылкой с теми же адресами (в том же порядке), что и эта ссылка. |
RefAddr |
get |
Возвращает адрес по индексу posn. |
RefAddr |
get |
Возвращает первый адрес, имеющий тип адреса 'addrType'. |
Enumeration<RefAddr> |
getAll() |
Возвращает перечисление адресов в этой ссылке. |
String |
getClassName() |
Возвращает имя класса объекта, на который ссылается эта ссылка. |
String |
getFactoryClassLocation() |
Возвращает местоположение фабрики объекта, на который ссылается эта ссылка. |
String |
getFactoryClassName() |
Возвращает имя класса фабрики объекта, на который ссылается эта ссылка. |
int |
hashCode() |
Вычисляет код хэша этой ссылки. |
Object |
remove |
Удаляет адрес по индексу posn из списка адресов. |
int |
size() |
Возвращает количество адресов в этой ссылке. |
String |
toString() |
Генерирует строковое представление этой ссылки. |
Подробное описание полей
className
protected String className
- См. также:
addrs
protected Vector<RefAddr> addrs
classFactory
protected String classFactory
classFactoryLocation
protected String classFactoryLocation
Подробное описание конструкторов
Reference
public Reference(String className)
- Параметры:
-
className- Непустое имя класса объекта, на который ссылается эта ссылка.
Reference
public Reference(String className, RefAddr addr)
- Параметры:
-
className- Непустое имя класса объекта, на который ссылается эта ссылка. -
addr- Непустой адрес объекта.
Reference
public Reference(String className, String factory, String factoryLocation)
- Параметры:
-
className- Непустое имя класса объекта, на который ссылается эта ссылка. -
factory- Возможно пустое имя класса фабрики объекта. -
factoryLocation- Возможно пустое расположение, откуда загружать фабрику (например, URL). - См. также:
Reference
public Reference(String className, RefAddr addr, String factory, String factoryLocation)
- Параметры:
-
className- Непустое имя класса объекта, на который ссылается эта ссылка. -
factory- Возможно пустое имя класса фабрики объекта. -
factoryLocation- Возможно пустое расположение, откуда загружать фабрику (например, URL). -
addr- Непустой адрес объекта. - См. также:
Подробное описание методов
getClassName
public String getClassName()
- Возвращает:
- Непустое полное квалифицированное имя класса объекта (например, "java.lang.String").
getFactoryClassName
public String getFactoryClassName()
- Возвращает:
- Возможно пустое полное квалифицированное имя фабрики (например, "java.lang.String").
getFactoryClassLocation
public String getFactoryClassLocation()
- Возвращает:
- Возможно пустая строка, содержащая расположение для загрузки класса фабрики.
get
public RefAddr get(String addrType)
- Параметры:
-
addrType- Непустой тип адреса, для которого нужно найти адрес. - Возвращает:
- Адрес в этой ссылке с типом адреса 'addrType'; null, если такого адреса нет.
get
public RefAddr get(int posn)
- Параметры:
-
posn- Индекс адреса для извлечения. - Возвращает:
- Адрес по 0-основанному индексу 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- 0-основанный индекс списка для вставки addr. -
addr- Непустой адрес для добавления. - Исключения:
-
ArrayIndexOutOfBoundsException- Если posn не в указанном диапазоне.
remove
public Object remove(int posn)
- Параметры:
-
posn- 0-основанный индекс адреса для удаления. - Возвращает:
- Удаленный адрес.
- Исключения:
-
ArrayIndexOutOfBoundsException- Если posn не в указанном диапазоне.
clear
public void clear()
equals
public boolean equals(Object obj)
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- Возможно пустой объект для проверки. - Возвращает:
- true, если obj равен этой ссылке; false в противном случае.
- См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- Хэш-код этой ссылки как целое число.
- См. также:
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- Непустое строковое представление этой ссылки.
clone
public Object clone()
- Overrides:
-
cloneв классеObject - Возвращает:
- клонированный экземпляр.
- См. также:
© 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/Reference.html