javax.naming

接口
异常
所有超级接口:
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 的实例在不是只读访问时无法与并发多线程访问同步。

从以下版本开始:
1.3

字段摘要
static long serialVersionUID
          为指示与以前的类版本序列化兼容而设置的类指纹。
 
方法摘要
 Name add(int posn, String comp)
          在此名称中的指定位置添加单个组件。
 Name add(String comp)
          将单个组件添加到此名称的末尾。
 Name addAll(int posn, Name n)
          按顺序将名称的组件添加到此名称中的指定位置。
 Name addAll(Name suffix)
          按顺序将名称的组件添加到此名称的末尾。
 Object clone()
          生成此名称的新副本。
 int compareTo(Object obj)
          比较此名称与另一个名称的顺序。
 boolean endsWith(Name n)
          确定此名称是否以某一指定后缀结束。
 String get(int posn)
          检索此名称的组件。
 Enumeration<String> getAll()
          以字符串枚举的形式检索此名称的组件。
 Name getPrefix(int posn)
          创建一个名称,其组件由此名称中组件的前缀组成。
 Name getSuffix(int posn)
          创建一个名称,其组件由此名称中组件的后缀组成。
 boolean isEmpty()
          确定此名称是否为空。
 Object remove(int posn)
          从此名称中移除一个组件。
 int size()
          返回此名称中的组件数。
 boolean startsWith(Name n)
          确定此名称是否从某一指定前缀开始。
 

字段详细信息

serialVersionUID

static final long serialVersionUID
为指示与以前的类版本序列化兼容而设置的类指纹。

另请参见:
常量字段值
方法详细信息

clone

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

返回:
此名称的副本
另请参见:
Object.clone()

compareTo

int compareTo(Object obj)
比较此名称与另一个名称的顺序。根据此名称小于、等于还是大于给定名称分别返回负整数、零或正整数。

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

指定者:
接口 Comparable<Object> 中的 compareTo
参数:
obj - 要与之比较的非 null 对象。
返回:
根据此名称小于、等于还是大于给定名称分别返回负整数、零或正整数
抛出:
ClassCastException - 如果 obj 不是一个可以与此名称进行比较的类型的 Name
另请参见:
Comparable.compareTo(Object)

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)
确定此名称是否从某一指定前缀开始。如果该方法与 getPrefix(n.size()) 等效,则名称 n 是一个前缀。

参数:
n - 要检查的名称
返回:
如果 n 是此名称的前缀,则返回 true,否则返回 false

endsWith

boolean endsWith(Name 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),以容纳新的组件。

参数:
n - 要添加的组件
posn - 此名称中的索引,将在该索引处添加新组件。该索引必须在范围 [0,size()] 内。
返回:
更新的名称(不是新名称)
抛出:
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围
InvalidNameException - 如果 n 不是一个有效名称,或者添加组件将违反此名称的语法规则

add

Name add(String comp)
         throws InvalidNameException
将单个组件添加到此名称的末尾。

参数:
comp - 要添加的组件
返回:
更新的名称(不是新名称)
抛出:
InvalidNameException - 如果添加 comp 将违反此名称的语法规则

add

Name add(int posn,
         String comp)
         throws InvalidNameException
在此名称中的指定位置添加单个组件。此名称位于新组件索引处或这之后的组件被上移(远离索引 0)一位,以容纳新组件。

参数:
comp - 要添加的组件
posn - 将在其所在位置处添加新组件的索引。该索引必须在范围 [0,size()] 内。
返回:
更新的名称(不是新名称)
抛出:
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围
InvalidNameException - 如果添加 comp 将违反此名称的语法规则

remove

Object remove(int posn)
              throws InvalidNameException
从此名称中移除一个组件。移除此名称位于指定位置处的组件。索引大于此位置的组件都被下移(朝向索引 0)一位。

参数:
posn - 要移除的组件的索引。该索引必须在范围 [0,size()) 内。
返回:
移除的组件(一个 String)
抛出:
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围
InvalidNameException - 如果删除组件将违反该名称的语法规则