java.lang.Object javax.naming.Reference
public class Reference
此类表示对存在于命名/目录系统以外的对象的引用。
Reference 提供一种记录关于没有直接绑定到命名/目录系统的对象的地址信息的方式。
Reference 由有序地址列表和有关将被引用的对象的类信息组成。列表中的每个地址都标识一个用于相同概念上的对象的通信端点。“通信端点”是指示如何与对象进行联系的信息。例如,它可以是一个网络地址、本地机器内存中的一个位置、同一台机器上的另一个进程等等。列表中地址的顺序对于解释引用的对象工厂而言可能很重要。
出现多个地址的原因有很多,比如重复或者对象在多于一种的通信机制上提供接口。该地址的索引从零开始。
Reference 还包含信息,该信息有助于创建此 Reference 所引用的对象的实例。它包含该对象的类名称,以及用来创建该对象的工厂的类名称和位置。类工厂位置是以空格分隔的 URL 列表,这些 URL 表示用来加载该工厂的类路径。当需要加载工厂类(或任何它所依赖的类或资源)时,将(依次)使用每个 URL 来尝试加载该类。
Reference 实例与多个线程的并发访问不同步。需要并发地访问单个 Reference 的线程应该在它们之间实现同步并提供所需的锁定。
RefAddr
,
StringRefAddr
,
BinaryRefAddr
,
序列化表格
字段摘要 | |
---|---|
protected Vector<RefAddr> |
addrs 包含此 Reference 中所包含的地址。 |
protected String |
classFactory 包含用来创建此 Reference 所引用的对象实例的工厂类名称。 |
protected String |
classFactoryLocation 包含工厂类的位置。 |
protected String |
className 包含此 Reference 所引用的对象类的完全限定名称。 |
构造方法摘要 | |
---|---|
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 |
字段详细信息 |
---|
protected String className
Class.getName()
protected Vector<RefAddr> addrs
protected String classFactory
protected String classFactoryLocation
构造方法详细信息 |
---|
public Reference(String className)
className
- 此引用所引用对象的非 null 类名称。
public Reference(String className, RefAddr addr)
className
- 此引用所引用对象的非 null 类名称。
addr
- 对象的非 null 地址。
public Reference(String className, String factory, String factoryLocation)
className
- 此引用所引用对象的非 null 类名称。
factory
- 对象工厂的类名称(可能为 null)。
factoryLocation
- 加载工厂的、可能为 null 的位置(例如 URL)
ObjectFactory
,
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable
)
public Reference(String className, RefAddr addr, String factory, String factoryLocation)
className
- 此引用所引用对象的非 null 类名称。
factory
- 对象工厂的类名称(可能为 null)。
factoryLocation
- 加载工厂的、可能为 null 的位置(例如 URL)
addr
- 对象的非 null 地址。
ObjectFactory
,
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable
)
方法详细信息 |
---|
public String getClassName()
public String getFactoryClassName()
public String getFactoryClassLocation()
public RefAddr get(String addrType)
addrType
- 用来查找地址的非 null 地址类型。
public RefAddr get(int posn)
posn
- 要检索的地址的索引。
ArrayIndexOutOfBoundsException
- 如果 posn 不在指定的范围内。
public Enumeration<RefAddr> getAll()
public int size()
public void add(RefAddr addr)
addr
- 要添加的非 null 地址。
public void add(int posn, RefAddr addr)
posn
- 列表中要插入 addr 的索引(从 0 开始)。
addr
- 要插入的非 null 地址。
ArrayIndexOutOfBoundsException
- 如果 posn 并不在指定的范围内。
public Object remove(int posn)
posn
- 要删除的地址的索引(从 0 开始)。
ArrayIndexOutOfBoundsException
- 如果 posn 不在指定的范围内。
public void clear()
public boolean equals(Object obj)
obj
- 要检查的对象(可能为 null)。
Object.hashCode()
,
Hashtable
public int hashCode()
Object.equals(java.lang.Object)
,
Hashtable
public String toString()
public Object clone()