-
- 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 longserialVersionUID类指纹被设置为指示与以前版本的类的序列化兼容性。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 Nameadd(int posn, String comp)在此名称中的指定位置添加单个组件。Nameadd(String comp)将单个组件添加到此名称的末尾。NameaddAll(int posn, Name n)在名称中的指定位置添加名称的组件。NameaddAll(Name suffix)将名称的组件按顺序添加到该名称的末尾。Objectclone()生成一个这个名字的新副本。intcompareTo(Object obj)将此名称与其他名称进行比较以进行订购。booleanendsWith(Name n)确定此名称是否以指定的后缀结尾。Stringget(int posn)检索此名称的组件。Enumeration<String>getAll()检索此名称的组件作为字符串的枚举。NamegetPrefix(int posn)创建一个名称,其组件由此名称的组件的前缀组成。NamegetSuffix(int posn)创建一个名称,其组件由此名称中的组件的后缀组成。booleanisEmpty()确定此名称是否为空。Objectremove(int posn)从此名称中删除组件。intsize()返回此名称中的组件数。booleanstartsWith(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是此名称的前缀,ntrue,否则为false
-
endsWith
boolean endsWith(Name n)
确定此名称是否以指定的后缀结尾。 名称n是一个后缀,如果它等于getSuffix(size()-n.size())。- 参数
-
n- 要检查的名称 - 结果
-
如果
n是此名称的后缀,ntrue,否则为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- 如果删除组件将违反名称的语法规则
-
-