Module  java.naming
软件包  javax.naming

Class Reference

  • All Implemented Interfaces:
    SerializableCloneable
    已知直接子类:
    LinkRef


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

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

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

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

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

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

    从以下版本开始:
    1.3
    另请参见:
    RefAddrStringRefAddrBinaryRefAddrSerialized Form
    • Field Summary

      Fields  
      Modifier and Type Field 描述
      protected Vector<RefAddr> addrs
      包含本参考文献中包含的地址。
      protected String classFactory
      包含用于创建此引用引用的对象的实例的工厂类的名称。
      protected String classFactoryLocation
      包含工厂类的位置。
      protected String className
      包含此引用引用的对象的类的完全限定名称。
    • 构造方法摘要

      构造方法  
      Constructor 描述
      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”的对象,对象工厂的类名和位置以及对象的地址构造一个新引用。
    • 字段详细信息

      • className

        protected String className
        包含此引用引用的对象的类的完全限定名称。
        另请参见:
        Class.getName()
      • addrs

        protected Vector<RefAddr> addrs
        包含本参考文献中包含的地址。 由构造函数初始化
      • classFactory

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

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

      • Reference

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

        public Reference​(String className,
                         RefAddr addr)
        为类名为“className”的对象和地址构造一个新引用。 班级工厂和班级工厂的位置设置为空。
        参数
        className - 此引用引用的对象的非空类名称。
        addr - 对象的非空地址。
    • 方法详细信息

      • 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 - 要检索的地址的索引。
        结果
        在0的索引posn上的地址。 它必须在[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或更大的所有地址都从列表中移出1(远离索引0)。
        参数
        posn - 列表中0的索引插入addr。
        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()检查地址。 除了具有相同的地址之外,“引用”还需要具有与此引用相同的类名。 不检查班级工厂和班级工厂的位置。 如果obj为null,则返回引用的实例,则返回null。
        重写:
        equalsObject
        参数
        obj - 可能要查询的空对象。
        结果
        如果obj等于该引用,则为true; 否则为假。
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString​()
        生成此引用的字符串表示形式。 该字符串由此引用引用的类名以及每个地址的字符串表示形式组成。 此表示仅供显示且不被解析。
        重写:
        toStringObject
        结果
        此引用的非空字符串表示形式。
      • clone

        public Object clone​()
        使用其类别名称列表的地址,类工厂名称和类工厂位置创建此引用的副本。 对新创建的副本的更改不会影响此引用,反之亦然。
        重写:
        cloneObject
        结果
        这个实例的一个克隆。
        另请参见:
        Cloneable