- 所有超级接口:
-
Cloneable
,Comparable<Object>
,Serializable
- 所有已知实现类:
-
CompositeName
,CompoundName
,LdapName
Name
接口表示一个通用名称 -- 一个有序的组件序列。它可以是一个复合名称(跨越多个命名空间的名称),或者是一个复合名称(在单个分层命名系统中使用的名称)。
可以有不同的Name
实现;例如,复合名称、URL或特定于命名空间的复合名称。
名称的组件是按顺序编号的。具有N个组件的名称的索引范围从0到N,但不包括N。这个范围可以写成[0,N)。最重要的组件在索引0处。空名称没有组件。
此接口中的方法中,对于名称或名称组件的参数,不接受null作为有效值。同样,返回名称或名称组件的方法永远不会返回null。
Name
的实例如果不是只读的,则可能不会针对并发多线程访问进行同步。
- 自 JDK 版本:
- 1.3
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescription在此名称中的指定位置添加单个组件。在此名称末尾添加单个组件。在此名称中的指定位置按顺序添加名称的组件。按顺序将名称的组件添加到此名称的末尾。clone()
生成此名称的新副本。int
比较此名称与另一个名称的顺序。boolean
确定此名称是否以指定后缀结尾。get
(int posn) 检索此名称的组件。getAll()
将此名称的组件作为字符串枚举检索。getPrefix
(int posn) 创建一个名称,其组件由此名称的前缀组件组成。getSuffix
(int posn) 创建一个名称,其组件由此名称中的后缀组件组成。boolean
isEmpty()
确定此名称是否为空。remove
(int posn) 从此名称中删除一个组件。int
size()
返回此名称中的组件数。boolean
startsWith
(Name n) 确定此名称是否以指定前缀开头。
-
Field Details
-
serialVersionUID
Deprecated.AserialVersionUID
field in an interface is ineffectual. Do not use; no replacement.设置类指纹,指示与类的先前版本的序列化兼容性。- 参见:
-
-
Method Details
-
clone
Object clone()生成此名称的新副本。对此名称的组件进行的后续更改不会影响新副本,反之亦然。- 返回:
- 此名称的副本
- 参见:
-
compareTo
比较此名称与另一个名称的顺序。根据实现此接口的类的不同,将返回负整数、零或正整数,表示此名称小于、等于或大于给定名称。与
Object.equals()
一样,名称的排序概念取决于实现此接口的类。例如,排序可能基于名称组件的字典顺序。名称的特定属性,例如它如何处理大小写,可能会影响排序。通常,不同类的两个名称可能无法进行比较。- 由以下接口指定:
-
compareTo
在接口Comparable<Object>
中 - 参数:
-
obj
- 要与之比较的非null对象。 - 返回:
- 负整数、零或正整数,表示此名称小于、等于或大于给定名称
- 抛出:
-
ClassCastException
- 如果obj不是可以与此名称进行比较的类型的Name
- 参见:
-
size
int size()返回此名称中的组件数。- 返回:
- 此名称中的组件数
-
isEmpty
boolean isEmpty()确定此名称是否为空。空名称是指具有零个组件的名称。- 返回:
- 如果此名称为空,则为true;否则为false
-
getAll
Enumeration<String> getAll()将此名称的组件作为字符串枚举检索。对此名称的更新对枚举的影响是未定义的。如果名称没有组件,则返回一个空(非null)枚举。- 返回:
- 此名称的组件的枚举,每个都是一个字符串
-
get
检索此名称的组件。- 参数:
-
posn
- 要检索的组件的基于0的索引。必须在范围[0,size())内。 - 返回:
- 索引为posn的组件
- 抛出:
-
ArrayIndexOutOfBoundsException
- 如果posn超出指定范围
-
getPrefix
创建一个名称,其组件由此名称的前缀组件组成。对此名称的后续更改不会影响返回的名称,反之亦然。- 参数:
-
posn
- 要停止的组件的基于0的索引。必须在范围[0,size()]内。 - 返回:
- 由索引范围[0,posn)中的组件组成的名称。
- 抛出:
-
ArrayIndexOutOfBoundsException
- 如果posn超出指定范围
-
getSuffix
创建一个名称,其组件由此名称中的后缀组件组成。对此名称的后续更改不会影响返回的名称,反之亦然。- 参数:
-
posn
- 要开始的组件的基于0的索引。必须在范围[0,size()]内。 - 返回:
- 由索引范围[posn,size())中的组件组成的名称。如果posn等于size(),则返回一个空名称。
- 抛出:
-
ArrayIndexOutOfBoundsException
- 如果posn超出指定范围
-
startsWith
确定此名称是否以指定前缀开头。如果名称n
等于getPrefix(n.size())
,则名称n
是前缀。- 参数:
-
n
- 要检查的名称 - 返回:
-
如果
n
是此名称的前缀,则为true;否则为false
-
endsWith
确定此名称是否以指定后缀结尾。如果名称n
等于getSuffix(size()-n.size())
,则名称n
是后缀。- 参数:
-
n
- 要检查的名称 - 返回:
-
如果
n
是此名称的后缀,则为true;否则为false
-
addAll
按顺序将名称的组件添加到此名称的末尾。- 参数:
-
suffix
- 要添加的组件 - 返回:
- 更新后的名称(不是新名称)
- 抛出:
-
InvalidNameException
- 如果suffix
不是有效名称,或者如果添加组件会违反此名称的语法规则
-
addAll
按顺序将名称的组件添加到此名称中的指定位置。此名称中的索引大于或等于第一个新组件的索引的组件将向上移动(远离0)以容纳新组件。- 参数:
-
posn
- 要添加新组件的此名称中的索引。必须在范围[0,size()]内。 -
n
- 要添加的组件 - 返回:
- 更新后的名称(不是新名称)
- 抛出:
-
ArrayIndexOutOfBoundsException
- 如果posn超出指定范围 -
InvalidNameException
- 如果n
不是有效名称,或者如果添加组件会违反此名称的语法规则
-
add
在此名称的末尾添加单个组件。- 参数:
-
comp
- 要添加的组件 - 返回:
- 更新后的名称(不是新名称)
- 抛出:
-
InvalidNameException
- 如果添加comp
会违反此名称的语法规则
-
add
在此名称的指定位置添加单个组件。此名称中的新组件的索引大于或等于新组件的索引的组件将向上移动一个位置(远离索引0)以容纳新组件。- 参数:
-
posn
- 要添加新组件的索引。必须在范围[0,size()]内。 -
comp
- 要添加的组件 - 返回:
- 更新后的名称(而不是新名称)
- 抛出:
-
ArrayIndexOutOfBoundsException
- 如果posn超出指定范围 -
InvalidNameException
- 如果添加comp
会违反此名称的语法规则
-
remove
从此名称中删除一个组件。删除指定位置处的此名称的组件。索引大于此位置的组件向下移动(朝向索引0)一个位置。- 参数:
-
posn
- 要删除的组件的索引。必须在范围[0,size())内。 - 返回:
- 已删除的组件(一个字符串)
- 抛出:
-
ArrayIndexOutOfBoundsException
- 如果posn超出指定范围 -
InvalidNameException
- 如果删除组件会违反名称的语法规则
-
serialVersionUID
字段是无效的。