-
- 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
-
-
Field Summary
Fields Modifier and Type Field 描述 static long
serialVersionUID
类指纹被设置为指示与以前版本的类的序列化兼容性。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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
类指纹被设置为指示与以前版本的类的序列化兼容性。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
clone
Object clone()
生成一个这个名字的新副本。 对该名称的组件的后续更改不会影响新副本,反之亦然。- 结果
- 这个名字的副本
- 另请参见:
-
Object.clone()
-
compareTo
int compareTo(Object obj)
将此名称与其他名称进行比较以进行订购。 返回一个负整数,零或正整数,因为该名称小于,等于或大于给定的名称。与
Object.equals()
,命名的概念取决于实现此接口的类。 例如,排序可以基于名称组件的字典排序。 名称的具体属性,例如它如何处理大小写,可能会影响排序。 一般来说,不同类别的两个名称可能不会被比较。- Specified by:
-
compareTo
在接口Comparable<Object>
- 参数
-
obj
- 要比较的非空对象。 - 结果
- 负整数,零或正整数,因为该名称小于,等于或大于给定的名称
- 异常
-
ClassCastException
- 如果obj不是可以与此名称进行比较的类型的Name
- 另请参见:
-
Comparable.compareTo(Object)
-
size
int size()
返回此名称中的组件数。- 结果
- 该名称中的组件数
-
isEmpty
boolean isEmpty()
确定此名称是否为空。 一个空的名字是零个零件。- 结果
- 如果此名称为空,则为true,否则为false
-
getAll
Enumeration<String> getAll()
检索此名称的组件作为字符串的枚举。 对此名称的更新枚举的影响是未定义的。 如果名称具有零个组件,则返回一个空(非空)枚举。- 结果
- 枚举这个名称的组件,每个都是一个字符串
-
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())范围内。 - 结果
- 删除组件(一个String)
- 异常
-
ArrayIndexOutOfBoundsException
- 如果posn在指定范围之外 -
InvalidNameException
- 如果删除组件将违反名称的语法规则
-
-