-
- All Superinterfaces:
-
Cloneable
,Comparable<Object>
,Serializable
- 所有已知实现类:
-
CompositeName
,CompoundName
,LdapName
public interface Name extends Cloneable, Serializable, Comparable<Object>
Name
接口表示通用名称 - 有序的组件序列。 它可以是复合名称(跨多个名称空间的名称),也可以是复合名称(在各个分层命名系统中使用的名称)。Name
可以有不同的实现方式; 例如,复合名称,URL或特定于命名空间的复合名称。名称的组件已编号。 具有N个分量的名称的索引的范围从0到(但不包括)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()
,名称排序的概念取决于实现此接口的类。 例如,排序可以基于名称组件的词典排序。 名称的特定属性(例如它如何处理大小写)可能会影响排序。 通常,可能不会比较两个不同类别的名称。- Specified by:
-
compareTo
in interfaceComparable<Object>
- 参数
-
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)
确定此名称是否以指定的前缀开头。 名称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)以容纳新组件。- 参数
-
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)1。- 参数
-
posn
- 要删除的组件的索引。 必须在[0,size())范围内。 - 结果
- 删除的组件(一个字符串)
- 异常
-
ArrayIndexOutOfBoundsException
- 如果posn超出指定范围 -
InvalidNameException
- 如果删除该组件将违反名称的语法规则
-
-