java.lang.Object
javax.naming.Reference
- 所有已实现的接口:
Serializable
,Cloneable
- 已知子类:
LinkRef
此类表示对在命名/目录系统之外找到的对象的引用。
引用提供了一种记录有关对象的地址信息的方法,这些对象本身并不直接绑定到命名/目录系统。
引用由一个有序的地址列表和有关被引用对象的类信息组成。列表中的每个地址标识同一概念对象的通信端点。 “通信端点”是指示如何联系对象的信息。例如,它可以是网络地址、本地机器内存中的位置、同一机器上的另一个进程等。列表中地址的顺序对于解释引用的对象工厂可能很重要。
多个地址可能由于各种原因而出现,例如复制或对象通过不止一种通信机制提供接口。地址从零开始索引。
Reference 还包含有助于创建该 Reference 所指对象实例的信息。它包含该对象的类名,以及用于创建该对象的工厂的类名和位置。类工厂位置是一个以空格分隔的 URL 列表,表示用于加载工厂的类路径。当需要加载工厂类(或其依赖的任何类或资源)时,将(按顺序)使用每个 URL 来尝试加载该类。
Reference 实例与多个线程的并发访问不同步。需要并发访问单个引用的线程应该在它们之间同步并提供必要的锁定。
- 自从:
- 1.3
- 参见:
-
字段摘要
字段 -
构造方法总结
构造方法构造方法描述为类名为“className”的对象构造一个新引用。为类名称为“className”的对象以及对象工厂的类名称和位置构造一个新引用。为具有类名称“className”和地址的对象构造一个新引用。为具有类名“className”、对象工厂的类名和位置以及对象地址的对象构造一个新引用。 -
方法总结
修饰符和类型方法描述void
在索引 posn 的地址列表中添加一个地址。void
将地址添加到地址列表的末尾。void
clear()
从此引用中删除所有地址。clone()
使用其地址的类名称列表、类工厂名称和类工厂位置复制此引用。boolean
确定 obj 是否是与此引用具有相同地址(以相同顺序)的引用。get
(int posn) 检索索引位置处的地址。检索地址类型为“addrType”的第一个地址。getAll()
检索此引用中地址的枚举。检索此引用引用的对象的类名。检索此引用引用的对象的工厂位置。检索此引用所引用的对象的工厂类名称。int
hashCode()
计算此引用的哈希码。remove
(int posn) 从地址列表中删除索引 posn 处的地址。int
size()
检索此引用中的地址数。toString()
生成此引用的字符串表示形式。
-
字段详细信息
-
className
包含此 Reference 所引用的对象的类的完全限定名称。- 参见:
-
addrs
包含此参考中包含的地址。由构造方法初始化。 -
classFactory
包含用于创建此 Reference 引用的对象实例的工厂类的名称。初始化为空。 -
classFactoryLocation
包含工厂类的位置。初始化为空。
-
-
构造方法详细信息
-
Reference
为类名为“className”的对象构造一个新引用。类工厂和类工厂位置设置为空。新创建的引用包含零地址。- 参数:
className
- 此引用引用的对象的非空类名。
-
Reference
为具有类名称“className”和地址的对象构造一个新引用。类工厂和类工厂位置设置为空。- 参数:
className
- 此引用引用的对象的非空类名。addr
- 对象的非空地址。
-
Reference
为类名称为“className”的对象以及对象工厂的类名称和位置构造一个新引用。- 参数:
className
- 此引用引用的对象的非空类名。factory
- 对象工厂的可能为空的类名。factoryLocation
- 加载工厂的可能为空的位置(例如 URL)- 参见:
-
Reference
为具有类名“className”、对象工厂的类名和位置以及对象地址的对象构造一个新引用。- 参数:
className
- 此引用引用的对象的非空类名。addr
- 对象的非空地址。factory
- 对象工厂的可能为空的类名。factoryLocation
- 加载工厂的可能为空的位置(例如 URL)- 参见:
-
-
方法详情
-
getClassName
检索此引用引用的对象的类名。- 返回:
- 对象的非空完全限定类名。 (例如“java.lang.String”)
-
getFactoryClassName
检索此引用所引用的对象的工厂类名称。- 返回:
- 工厂的可能为 null 的完全限定类名。 (例如“java.lang.String”)
-
getFactoryClassLocation
检索此引用引用的对象的工厂位置。如果它是一个代码库,那么它是一个有序的 URL 列表,由空格分隔,列出工厂类定义应该加载的位置。- 返回:
- 包含在工厂类中加载位置的可能为空的字符串。
-
get
检索地址类型为“addrType”的第一个地址。 String.compareTo() 用于测试地址类型的相等性。- 参数:
addrType
- 要为其查找地址的非空地址类型。- 返回:
- 此引用中地址类型为“addrType”的地址;如果不存在这样的地址,则为 null。
-
get
检索索引位置处的地址。- 参数:
posn
- 要检索的地址索引。- 返回:
- 从 0 开始的索引位置的地址。它必须在 [0,getAddressCount()) 范围内。
- 抛出:
ArrayIndexOutOfBoundsException
- 如果 posn 不在指定范围内。
-
getAll
检索此引用中地址的枚举。当从该引用中添加、更改或删除地址时,其对该枚举的影响是不确定的。- 返回:
-
此参考中地址 (
RefAddr
) 的非空枚举。如果此引用具有零地址,则返回具有零元素的枚举。
-
size
public int size()检索此引用中的地址数。- 返回:
- 此引用中的非负地址数。
-
add
将地址添加到地址列表的末尾。- 参数:
addr
- 要添加的非空地址。
-
add
在索引 posn 的地址列表中添加一个地址。索引 posn 或更大位置的所有地址都在列表中向上移动一位(远离索引 0)。- 参数:
posn
- 要插入地址的列表的从 0 开始的索引。addr
- 要添加的非空地址。- 抛出:
ArrayIndexOutOfBoundsException
- 如果 posn 不在指定范围内。
-
remove
从地址列表中删除索引 posn 处的地址。索引大于 posn 的所有地址都在列表中向下移动一位(朝向索引 0)。- 参数:
posn
- 要删除的地址中从 0 开始的索引。- 返回:
- 地址已删除。
- 抛出:
ArrayIndexOutOfBoundsException
- 如果 posn 不在指定范围内。
-
clear
public void clear()从此引用中删除所有地址。 -
equals
确定 obj 是否是与此引用具有相同地址(以相同顺序)的引用。使用 RefAddr.equals() 检查地址。除了具有相同的地址之外,Reference 还需要与该引用具有相同的类名。不检查类工厂和类工厂位置。如果 obj 为 null 或者不是 Reference 的实例,则返回 null。 -
hashCode
public int hashCode()计算此引用的哈希码。哈希码是其地址的哈希码之和。 -
toString
生成此引用的字符串表示形式。该字符串由该引用所指的类名及其每个地址的字符串表示形式组成。此表示仅用于显示,不用于解析。 -
clone
使用其地址的类名称列表、类工厂名称和类工厂位置复制此引用。对新创建的副本的更改不会影响此参考,反之亦然。
-