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