Класс Справочная информация

Все реализованные интерфейсы:
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()

Генерирует строковое представление этой ссылки. Строка состоит из имени класса, на который ссылается эта ссылка, и строкового представления каждого из её адресов. Это представление предназначено только для отображения и не должно анализироваться.

Переопределяет:
toString в классе Object
Возвращает:
Непустое строковое представление этой ссылки.

clone

public Object clone()

Создаёт копию этой ссылки, используя её имя класса, список адресов, имя фабричного класса и местоположение фабричного класса. Изменения в только что созданной копии не влияют на эту ссылку и наоборот.

Переопределяет:
clone в классе Object
Возвращает:
клон этого экземпляра.
См. также:
Cloneable

© 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

Spec-Zone .ru
спецификации, руководства, описания, API