- 所有父级接口:
Cloneable,Comparable<Object>,Serializable
- 所有已知的实现类:
CompositeName,CompoundName,LdapName
Name 接口代表一个通用名称——一个有序的组件序列。它可以是复合名称(跨越多个名称空间的名称)或复合名称(在单个分层命名系统中使用的名称)。
Name 可以有不同的实现;例如,复合名称、URL 或特定于名称空间的复合名称。
名称的组成部分是编号的。具有 N 个组成部分的名称的索引范围从 0 到 N,但不包括 N。此范围可以写为 [0,N)。最重要的组件在索引 0 处。空名称没有组件。
此接口中的所有方法均不接受 null 作为名称或名称组件参数的有效值。同样,返回名称或名称组件的方法永远不会返回 null。
如果访问不是只读的,Name 的实例可能不会与并发多线程访问同步。
- 自从:
- 1.3
-
字段摘要
字段 -
方法总结
修饰符和类型方法描述在此名称中的指定位置添加单个组件。将单个组件添加到此名称的末尾。在此名称中的指定位置按顺序添加名称的组成部分。将名称的组成部分按顺序添加到该名称的末尾。clone()生成此名称的新副本。int将此名称与另一个名称进行比较以进行排序。boolean确定此名称是否以指定的后缀结尾。get(int posn) 检索此名称的组件。getAll()检索此名称的组件作为字符串枚举。getPrefix(int posn) 创建一个名称,其组件由该名称组件的前缀组成。getSuffix(int posn) 创建一个名称,其组件由该名称中组件的后缀组成。booleanisEmpty()确定此名称是否为空。remove(int posn) 从此名称中删除一个组件。intsize()返回此名称中的组件数。booleanstartsWith(Name n) 确定此名称是否以指定前缀开头。
-
字段详细信息
-
serialVersionUID
已弃用。接口中的serialVersionUID字段无效。不使用;没有替代品。设置为指示与该类的先前版本的序列化兼容性的类指纹。- 参见:
-
-
方法详情
-
clone
Object clone()生成此名称的新副本。对该名称的组件的后续更改不会影响新副本,反之亦然。- 返回:
- 这个名字的副本
- 参见:
-
compareTo
将此名称与另一个名称进行比较以进行排序。返回负整数、零或正整数,因为此名称小于、等于或大于给定名称。与
Object.equals()一样,名称排序的概念取决于实现此接口的类。例如,排序可以基于名称组件的字典顺序。名称的特定属性,例如它如何处理大小写,可能会影响排序。一般来说,不同类别的两个名称可能不会进行比较。- 指定者:
compareTo在接口Comparable<Object>中- 参数:
obj- 要比较的非空对象。- 返回:
- 负整数、零或正整数,因为此名称小于、等于或大于给定名称
- 抛出:
ClassCastException- 如果 obj 不是可以与此名称进行比较的类型的Name- 参见:
-
size
int size()返回此名称中的组件数。- 返回:
- 此名称中的组件数
-
isEmpty
boolean isEmpty()确定此名称是否为空。空名称是零组件的名称。- 返回:
- 如果此名称为空,则为 true,否则为 false
-
getAll
Enumeration <String > getAll()检索此名称的组件作为字符串枚举。对该名称的更新枚举的影响未定义。如果名称的组成部分为零,则返回一个空(非空)枚举。- 返回:
- 此名称的组件的枚举,每个组件都是一个字符串
-
get
检索此名称的组件。- 参数:
posn- 要检索的组件的从 0 开始的索引。必须在 [0,size()) 范围内。- 返回:
- 索引位置的组件
- 抛出:
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是此名称的前缀,则为 true,否则为 false
-
endsWith
确定此名称是否以指定的后缀结尾。如果名称n等于getSuffix(size()-n.size()),则它是一个后缀。- 参数:
n- 要检查的名称- 返回:
-
如果
n是此名称的后缀,则为真,否则为假
-
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字段无效。