public class Reference extends Object implements Cloneable, Serializable
引用提供了一种记录关于自身不直接绑定到命名/目录系统的对象的地址信息的方法。
A Reference由一个有序的地址列表和关于被引用对象的类信息组成。 列表中的每个地址标识同一概念对象的通信端点。 “通信端点”是指示如何联系对象的信息。 它可以是例如网络地址,本地机器上的存储器中的位置,在同一机器上的另一过程等。列表中的地址的顺序对于解释参考的对象工厂可能是重要的。
由于各种原因可能会出现多个地址,例如复制或通过多个通信机制提供接口的对象。 这些地址从零开始索引。
引用还包含有助于创建此引用引用的对象的实例的信息。 它包含该对象的类名,以及用于创建对象的工厂的类名和位置。 类工厂位置是一个空格分隔的URL表示代表用于加载工厂的类路径。 当需要加载工厂类(或其所依赖的任何类或资源)时,将使用每个URL(按顺序)尝试加载该类。
引用实例与多个线程的并发访问不同步。 需要同时访问单个引用的线程应该在它们之间同步并提供必要的锁定。
RefAddr
, StringRefAddr
, BinaryRefAddr
, Serialized Form
Modifier and Type | Field and Description |
---|---|
protected Vector<RefAddr> |
addrs
包含本参考文献中包含的地址。
|
protected String |
classFactory
包含用于创建此引用引用的对象的实例的工厂类的名称。
|
protected String |
classFactoryLocation
包含工厂类的位置。
|
protected String |
className
包含此引用引用的对象的类的完全限定名称。
|
Constructor and Description |
---|
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”的对象以及对象工厂的类名和位置构造一个新引用。
|
Modifier and Type | Method and Description |
---|---|
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()
生成此引用的字符串表示形式。
|
protected String className
Class.getName()
protected String classFactory
protected String classFactoryLocation
public Reference(String className)
className
- 此引用引用的对象的非空类名。
public Reference(String className, RefAddr addr)
className
- 此引用引用的对象的非空类名称。
addr
- 对象的非空地址。
public Reference(String className, String factory, String factoryLocation)
className
- 此引用引用的对象的非空类名称。
factory
- 对象工厂的可能的空类名。
factoryLocation
- 加载工厂可能为空的位置(例如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
- 此引用引用的对象的非空类名。
factory
- 对象工厂的可能空类的名称。
factoryLocation
- 加载工厂可能为空的位置(例如URL)
addr
- 对象的非空地址。
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
- 找到地址的非空地址类型。
public RefAddr get(int posn)
posn
- 要检索的地址的索引。
ArrayIndexOutOfBoundsException
- 如果posn不在指定范围内。
public Enumeration<RefAddr> getAll()
public int size()
public void add(RefAddr addr)
addr
- 要添加的非空地址。
public void add(int posn, RefAddr addr)
posn
- 用于插入addr的列表的基于0的索引。
addr
- 要添加的非空地址。
ArrayIndexOutOfBoundsException
- 如果posn不在指定的范围内。
public Object remove(int posn)
posn
- 要删除的地址为0的索引。
ArrayIndexOutOfBoundsException
- 如果posn不在指定的范围内。
public void clear()
public boolean equals(Object obj)
equals
在类别
Object
obj
- 要检查的可能的空对象。
Object.hashCode()
, HashMap
public int hashCode()
hashCode
在
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()