Module java.naming
Package javax.naming

Interface Name

所有超级接口:
Cloneable, Comparable<Object>, Serializable
所有已知实现类:
CompositeName, CompoundName, LdapName

public interface Name extends Cloneable, Serializable, Comparable<Object>
Name接口表示一个通用名称 -- 一个有序的组件序列。它可以是一个复合名称(跨越多个命名空间的名称),或者是一个复合名称(在单个分层命名系统中使用的名称)。

可以有不同的Name实现;例如,复合名称、URL或特定于命名空间的复合名称。

名称的组件是按顺序编号的。具有N个组件的名称的索引范围从0到N,但不包括N。这个范围可以写成[0,N)。最重要的组件在索引0处。空名称没有组件。

此接口中的方法中,对于名称或名称组件的参数,不接受null作为有效值。同样,返回名称或名称组件的方法永远不会返回null。

Name的实例如果不是只读的,则可能不会针对并发多线程访问进行同步。

自 JDK 版本:
1.3
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
    已弃用。
    在接口中设置serialVersionUID字段是无效的。
  • Method Summary

    Modifier and Type
    Method
    Description
    add(int posn, String comp)
    在此名称中的指定位置添加单个组件。
    add(String comp)
    在此名称末尾添加单个组件。
    addAll(int posn, Name n)
    在此名称中的指定位置按顺序添加名称的组件。
    addAll(Name suffix)
    按顺序将名称的组件添加到此名称的末尾。
    clone()
    生成此名称的新副本。
    int
    比较此名称与另一个名称的顺序。
    boolean
    确定此名称是否以指定后缀结尾。
    get(int posn)
    检索此名称的组件。
    getAll()
    将此名称的组件作为字符串枚举检索。
    getPrefix(int posn)
    创建一个名称,其组件由此名称的前缀组件组成。
    getSuffix(int posn)
    创建一个名称,其组件由此名称中的后缀组件组成。
    boolean
    确定此名称是否为空。
    remove(int posn)
    从此名称中删除一个组件。
    int
    size()
    返回此名称中的组件数。
    boolean
    确定此名称是否以指定前缀开头。
  • Field Details

    • serialVersionUID

      @Deprecated static final long serialVersionUID
      Deprecated.
      A serialVersionUID field in an interface is ineffectual. Do not use; no replacement.
      设置类指纹,指示与类的先前版本的序列化兼容性。
      参见:
  • Method Details

    • clone

      Object clone()
      生成此名称的新副本。对此名称的组件进行的后续更改不会影响新副本,反之亦然。
      返回:
      此名称的副本
      参见:
    • compareTo

      int compareTo(Object obj)
      比较此名称与另一个名称的顺序。根据实现此接口的类的不同,将返回负整数、零或正整数,表示此名称小于、等于或大于给定名称。

      Object.equals()一样,名称的排序概念取决于实现此接口的类。例如,排序可能基于名称组件的字典顺序。名称的特定属性,例如它如何处理大小写,可能会影响排序。通常,不同类的两个名称可能无法进行比较。

      由以下接口指定:
      compareTo 在接口 Comparable<Object>
      参数:
      obj - 要与之比较的非null对象。
      返回:
      负整数、零或正整数,表示此名称小于、等于或大于给定名称
      抛出:
      ClassCastException - 如果obj不是可以与此名称进行比较的类型的Name
      参见:
    • size

      int size()
      返回此名称中的组件数。
      返回:
      此名称中的组件数
    • isEmpty

      boolean isEmpty()
      确定此名称是否为空。空名称是指具有零个组件的名称。
      返回:
      如果此名称为空,则为true;否则为false
    • getAll

      Enumeration<String> getAll()
      将此名称的组件作为字符串枚举检索。对此名称的更新对枚举的影响是未定义的。如果名称没有组件,则返回一个空(非null)枚举。
      返回:
      此名称的组件的枚举,每个都是一个字符串
    • get

      String get(int posn)
      检索此名称的组件。
      参数:
      posn - 要检索的组件的基于0的索引。必须在范围[0,size())内。
      返回:
      索引为posn的组件
      抛出:
      ArrayIndexOutOfBoundsException - 如果posn超出指定范围
    • getPrefix

      Name getPrefix(int posn)
      创建一个名称,其组件由此名称的前缀组件组成。对此名称的后续更改不会影响返回的名称,反之亦然。
      参数:
      posn - 要停止的组件的基于0的索引。必须在范围[0,size()]内。
      返回:
      由索引范围[0,posn)中的组件组成的名称。
      抛出:
      ArrayIndexOutOfBoundsException - 如果posn超出指定范围
    • getSuffix

      Name getSuffix(int posn)
      创建一个名称,其组件由此名称中的后缀组件组成。对此名称的后续更改不会影响返回的名称,反之亦然。
      参数:
      posn - 要开始的组件的基于0的索引。必须在范围[0,size()]内。
      返回:
      由索引范围[posn,size())中的组件组成的名称。如果posn等于size(),则返回一个空名称。
      抛出:
      ArrayIndexOutOfBoundsException - 如果posn超出指定范围
    • startsWith

      boolean startsWith(Name n)
      确定此名称是否以指定前缀开头。如果名称n等于getPrefix(n.size()),则名称n是前缀。
      参数:
      n - 要检查的名称
      返回:
      如果n是此名称的前缀,则为true;否则为false
    • endsWith

      boolean endsWith(Name n)
      确定此名称是否以指定后缀结尾。如果名称n等于getSuffix(size()-n.size()),则名称n是后缀。
      参数:
      n - 要检查的名称
      返回:
      如果n是此名称的后缀,则为true;否则为false
    • addAll

      Name addAll(Name suffix) throws InvalidNameException
      按顺序将名称的组件添加到此名称的末尾。
      参数:
      suffix - 要添加的组件
      返回:
      更新后的名称(不是新名称)
      抛出:
      InvalidNameException - 如果suffix不是有效名称,或者如果添加组件会违反此名称的语法规则
    • addAll

      Name addAll(int posn, Name n) throws InvalidNameException
      按顺序将名称的组件添加到此名称中的指定位置。此名称中的索引大于或等于第一个新组件的索引的组件将向上移动(远离0)以容纳新组件。
      参数:
      posn - 要添加新组件的此名称中的索引。必须在范围[0,size()]内。
      n - 要添加的组件
      返回:
      更新后的名称(不是新名称)
      抛出:
      ArrayIndexOutOfBoundsException - 如果posn超出指定范围
      InvalidNameException - 如果n不是有效名称,或者如果添加组件会违反此名称的语法规则
    • add

      Name add(String comp) throws InvalidNameException
      在此名称的末尾添加单个组件。
      参数:
      comp - 要添加的组件
      返回:
      更新后的名称(不是新名称)
      抛出:
      InvalidNameException - 如果添加comp会违反此名称的语法规则
    • add

      Name add(int posn, String comp) throws InvalidNameException
      在此名称的指定位置添加单个组件。此名称中的新组件的索引大于或等于新组件的索引的组件将向上移动一个位置(远离索引0)以容纳新组件。
      参数:
      posn - 要添加新组件的索引。必须在范围[0,size()]内。
      comp - 要添加的组件
      返回:
      更新后的名称(而不是新名称)
      抛出:
      ArrayIndexOutOfBoundsException - 如果posn超出指定范围
      InvalidNameException - 如果添加comp会违反此名称的语法规则
    • remove

      Object remove(int posn) throws InvalidNameException
      从此名称中删除一个组件。删除指定位置处的此名称的组件。索引大于此位置的组件向下移动(朝向索引0)一个位置。
      参数:
      posn - 要删除的组件的索引。必须在范围[0,size())内。
      返回:
      已删除的组件(一个字符串)
      抛出:
      ArrayIndexOutOfBoundsException - 如果posn超出指定范围
      InvalidNameException - 如果删除组件会违反名称的语法规则