模块 java.naming

类 Reference

java.lang.Object
javax.naming.Reference
所有已实现的接口:
Serializable , Cloneable
已知子类:
LinkRef

public class Reference extends Object implements Cloneable , Serializable
此类表示对在命名/目录系统之外找到的对象的引用。

引用提供了一种记录有关对象的地址信息的方法,这些对象本身并不直接绑定到命名/目录系统。

引用由一个有序的地址列表和有关被引用对象的类信息组成。列表中的每个地址标识同一概念对象的通信端点。 “通信端点”是指示如何联系对象的信息。例如,它可以是网络地址、本地机器内存中的位置、同一机器上的另一个进程等。列表中地址的顺序对于解释引用的对象工厂可能很重要。

多个地址可能由于各种原因而出现,例如复制或对象通过不止一种通信机制提供接口。地址从零开始索引。

Reference 还包含有助于创建该 Reference 所指对象实例的信息。它包含该对象的类名,以及用于创建该对象的工厂的类名和位置。类工厂位置是一个以空格分隔的 URL 列表,表示用于加载工厂的类路径。当需要加载工厂类(或其依赖的任何类或资源)时,将(按顺序)使用每个 URL 来尝试加载该类。

Reference 实例与多个线程的并发访问不同步。需要并发访问单个引用的线程应该在它们之间同步并提供必要的锁定。

自从:
1.3
参见:
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    protected Vector<RefAddr>
    包含此参考中包含的地址。
    protected String
    包含用于创建此 Reference 引用的对象实例的工厂类的名称。
    protected String
    包含工厂类的位置。
    protected String
    包含此 Reference 所引用的对象的类的完全限定名称。
  • 构造方法总结

    构造方法
    构造方法
    描述
    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
    从此引用中删除所有地址。
    使用其地址的类名称列表、类工厂名称和类工厂位置复制此引用。
    boolean
    equals(Object obj)
    确定 obj 是否是与此引用具有相同地址(以相同顺序)的引用。
    get(int posn)
    检索索引位置处的地址。
    get(String addrType)
    检索地址类型为“addrType”的第一个地址。
    检索此引用中地址的枚举。
    检索此引用引用的对象的类名。
    检索此引用引用的对象的工厂位置。
    检索此引用所引用的对象的工厂类名称。
    int
    计算此引用的哈希码。
    remove(int posn)
    从地址列表中删除索引 posn 处的地址。
    int
    size()
    检索此引用中的地址数。
    生成此引用的字符串表示形式。

    在类 java.lang.Object 中声明的方法

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • 字段详细信息

    • className

      protected String  className
      包含此 Reference 所引用的对象的类的完全限定名称。
      参见:
    • addrs

      protected Vector <RefAddr > addrs
      包含此参考中包含的地址。由构造方法初始化。
    • classFactory

      protected String  classFactory
      包含用于创建此 Reference 引用的对象实例的工厂类的名称。初始化为空。
    • classFactoryLocation

      protected String  classFactoryLocation
      包含工厂类的位置。初始化为空。
  • 构造方法详细信息

    • Reference

      public Reference(String  className)
      为类名为“className”的对象构造一个新引用。类工厂和类工厂位置设置为空。新创建的引用包含零地址。
      参数:
      className - 此引用引用的对象的非空类名。
    • Reference

      public Reference(String  className, RefAddr  addr)
      为具有类名称“className”和地址的对象构造一个新引用。类工厂和类工厂位置设置为空。
      参数:
      className - 此引用引用的对象的非空类名。
      addr - 对象的非空地址。
    • Reference

      public Reference(String  className, String  factory, String  factoryLocation)
      为类名称为“className”的对象以及对象工厂的类名称和位置构造一个新引用。
      参数:
      className - 此引用引用的对象的非空类名。
      factory - 对象工厂的可能为空的类名。
      factoryLocation - 加载工厂的可能为空的位置(例如 URL)
      参见:
    • Reference

      public Reference(String  className, RefAddr  addr, String  factory, String  factoryLocation)
      为具有类名“className”、对象工厂的类名和位置以及对象地址的对象构造一个新引用。
      参数:
      className - 此引用引用的对象的非空类名。
      addr - 对象的非空地址。
      factory - 对象工厂的可能为空的类名。
      factoryLocation - 加载工厂的可能为空的位置(例如 URL)
      参见:
  • 方法详情

    • getClassName

      public String  getClassName()
      检索此引用引用的对象的类名。
      返回:
      对象的非空完全限定类名。 (例如“java.lang.String”)
    • getFactoryClassName

      public String  getFactoryClassName()
      检索此引用所引用的对象的工厂类名称。
      返回:
      工厂的可能为 null 的完全限定类名。 (例如“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 - 要检索的地址索引。
      返回:
      从 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 - 要插入地址的列表的从 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 - 要检查的可能为空的对象。
      返回:
      如果 obj 等于此引用,则为真;否则为假。
      参见:
    • hashCode

      public int hashCode()
      计算此引用的哈希码。哈希码是其地址的哈希码之和。
      重写:
      hashCode 在类 Object
      返回:
      此引用的哈希码作为 int。
      参见:
    • toString

      public String  toString()
      生成此引用的字符串表示形式。该字符串由该引用所指的类名及其每个地址的字符串表示形式组成。此表示仅用于显示,不用于解析。
      重写:
      toString 在类 Object
      返回:
      此引用的非空字符串表示形式。
    • clone

      public Object  clone()
      使用其地址的类名称列表、类工厂名称和类工厂位置复制此引用。对新创建的副本的更改不会影响此参考,反之亦然。
      重写:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见: