Класс Справочная информация
- 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,
String factory,
String factoryLocation) | Создаёт новую ссылку для объекта с именем класса 'className', и именем класса и расположением фабрики объекта. |
Reference(String className,
RefAddr addr) | Создаёт новую ссылку для объекта с именем класса 'className' и адресом. |
Reference(String className,
RefAddr addr,
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). Должен быть в диапазоне [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 (нумерация с 0). -
addr- Непустой адрес для добавления. - Исключение:
-
ArrayIndexOutOfBoundsException- Если posn не в указанном диапазоне.
remove
public Object remove(int posn)
Удаляет адрес по индексу posn из списка адресов. Все адреса с индексом больше posn сдвигаются вниз в списке на один элемент (к индексу 0).
- Параметры:
-
posn- Индекс адреса для удаления (нумерация с 0). - Возвращает:
- Удалённый адрес.
- Исключение:
-
ArrayIndexOutOfBoundsException- Если posn не в указанном диапазоне.
clear
public void clear()
Удаляет все адреса из этой ссылки.
equals
public boolean equals(Object obj)
Определяет, является ли obj ссылкой с теми же адресами (в том же порядке), что и эта ссылка. Адреса проверяются с помощью RefAddr.equals(). Кроме того, у Reference должно быть то же имя класса, что и у этой ссылки. Фабричный класс и местоположение фабричного класса не проверяются. Если obj равно null или не является экземпляром Reference, возвращается null.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- Возможно, null объект для проверки. - Возвращает:
- true, если obj равен этой ссылке; false в противном случае.
- См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Вычисляет хэш-код этой ссылки. Хэш-код — это сумма хэш-кодов её адресов.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- Хэш-код этой ссылки в виде int.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Генерирует строковое представление этой ссылки. Строка состоит из имени класса, на который ссылается эта ссылка, и строкового представления каждого из её адресов. Это представление предназначено только для отображения и не должно анализироваться.
clone
public Object clone()
Создаёт копию этой ссылки, используя её имя класса, список адресов, имя фабричного класса и местоположение фабричного класса. Изменения в только что созданной копии не влияют на эту ссылку и наоборот.
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.naming/javax/naming/Reference.html