java.lang.Object javax.naming.CompoundName
此类表示一个组合名称,即一个取自层次名称空间的名称。组合名称中的每个组件都是一个原子名称。
组合名称的组件都已编号。带 N 个组件的组合名称的索引在 0 到 N(但不包括 N)的范围内变动。可将该范围写为 [0,N)。最重要的组件位于索引 0 处。空组合名称没有组件。
组合名称的字符串形式遵从上述语法。当将组合名称的组件转换成其字符串表示形式时,将应用上述保留语法规则(例如,嵌套的分隔符被转义或引用),以便在解析相同的字符串时,将产生相同的原始组合名称组件。
字段摘要 | |
---|---|
protected javax.naming.NameImpl |
impl 此组合名称的实现。 |
protected Properties |
mySyntax 此组合名称的语法属性。 |
构造方法摘要 | |
---|---|
protected |
CompoundName(Enumeration<String> comps, Properties syntax) 使用 comps 和 syntax 指定的组件构造一个新的组合名称实例。 |
|
CompoundName(String n, Properties syntax) 通过解析使用提供的 syntax 属性所指定的语法的字符串 n 来构造一个新的组合名称实例。 |
方法摘要 | |
---|---|
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) 比较此 CompoundName 与指定 Object 的顺序。 |
boolean |
endsWith(Name n) 确定某一组合名称是否是此组合名称的后缀。 |
boolean |
equals(Object obj) 确定 obj 在语法上是否等同于此组合名称。 |
String |
get(int posn) 检索此组合名称的组件。 |
Enumeration<String> |
getAll() 以字符串枚举的形式检索此组合名称的组件。 |
Name |
getPrefix(int posn) 创建一个组合名称,其组件由此组合名称中组件的前缀组成。 |
Name |
getSuffix(int posn) 创建一个组合名称,其组件由该组合名称中组件的后缀组成。 |
int |
hashCode() 计算此组合名称的哈希码。 |
boolean |
isEmpty() 确定此组合名称是否为空。 |
Object |
remove(int posn) 从此组合名称中删除一个组件。 |
int |
size() 检索此组合名称中的组件数。 |
boolean |
startsWith(Name n) 确定某一组合名称是否是此组合名称的前缀。 |
String |
toString() 使用组合名称的语法规则生成此组合名称的字符串表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
protected transient javax.naming.NameImpl impl
protected transient Properties mySyntax
构造方法详细信息 |
---|
protected CompoundName(Enumeration<String> comps, Properties syntax)
comps
- 要添加的非 null 组件枚举。该枚举的每个元素都属于 String 类。该枚举将被用来提取其元素。
syntax
- 指定此组合名称语法的非 null 属性。有关这些属性的内容,请参阅类描述。
public CompoundName(String n, Properties syntax) throws InvalidNameException
n
- 要解析的非 null 字符串。
syntax
- 指定此组合名称语法的非 null 属性列表。有关这些属性的内容,请参阅类描述。
InvalidNameException
- 如果 'n' 违反
syntax
指定的语法。
方法详细信息 |
---|
public String toString()
public boolean equals(Object obj)
相等性也是根据此组合名称的语法定义的。CompoundName 的默认实现在比较两个组件的相等性时使用语法属性 jndi.syntax.ignorecase 和 jndi.syntax.trimblanks。如果忽略大小写,则具有相同字符顺序但大小写不同的两个字符串被认为是相等的。如果将去除空白,则为进行比较将忽略前导空白和结尾空白。
两个组合名称必须有相同的组件数。
实现注意事项:当前,不比较两个组合名称语法属性的相等性。这有可能在以后实现。
obj
- 要比较的可能为 null 的对象。
compareTo(java.lang.Object obj)
public int hashCode()
Object.equals(java.lang.Object)
,
Hashtable
public Object clone()
Cloneable
public int compareTo(Object obj)
如果 obj 为 null 或者不是一个 CompoundName 实例,则抛出 ClassCastException。
关于这对两个组合名称相等性的意义,请参见 equals()。如果两个组合名称是相等的,则返回 0。
组合名称的排序取决于组合名称的语法。默认情况下,它们遵从字符串比较的字典规则,并将此扩展到应用于组合名称中的所有组件,各个组件的比较受 jndi.syntax.ignorecase 和 jndi.syntax.trimblanks 属性的影响,受影响的方式与这些属性影响 equals() 的方式相同。如果此组合名称“按字典顺序”小于 obj,则返回一个负数。如果此组合名称“按字典顺序”大于 obj,则返回一个正数。
实现注意事项:当前,在检查顺序时不比较两个组合名称语法属性的相等性。这有可能在以后实现。
Comparable<Object>
中的
compareTo
Name
中的
compareTo
obj
- 要与之比较的非 null 对象。
ClassCastException
- 如果 obj 不是一个 CompoundName。
equals(java.lang.Object)
public int size()
public boolean isEmpty()
public Enumeration<String> getAll()
public String get(int posn)
posn
- 要检索的从 0 开始的组件索引。该索引必须在范围 [0,size()) 内。
ArrayIndexOutOfBoundsException
- 如果 posn 超出指定范围。
public Name getPrefix(int posn)
posn
- 从 0 开始的组件索引,在该索引处停止。该索引必须在范围 [0,size()] 内。
ArrayIndexOutOfBoundsException
- 如果 posn 超出指定范围。
public Name getSuffix(int posn)
posn
- 从 0 开始的组件索引,在该索引处开始。该索引必须在范围 [0,size()] 内。
ArrayIndexOutOfBoundsException
- 如果 posn 超出指定范围。
public boolean startsWith(Name n)
实现注意事项:当前,在进行比较时不使用 n 的语法属性。这有可能在以后实现。
Name
中的
startsWith
n
- 要检查的可能为 null 的组合名称。
public boolean endsWith(Name n)
实现注意事项:当前,在进行比较时不使用 n 的语法属性。这有可能在以后实现。
n
- 要检查的可能为 null 的组合名称。
public Name addAll(Name suffix) throws InvalidNameException
实现注意事项:当前,不使用或检查 suffix 的语法属性。这有可能在以后实现。
suffix
- 要添加的非 null 组件。
InvalidNameException
- 如果 suffix 不是一个组合名称,或者添加组件违反此组合名称的语法(例如,组件数超出)。
public Name addAll(int posn, Name n) throws InvalidNameException
实现注意事项:当前,不使用或检查 suffix 的语法属性。这有可能在以后实现。
n
- 要添加的非 null 组件。
posn
- 此名称中的索引,将在该索引处添加新组件。该索引必须在范围 [0,size()] 内。
ArrayIndexOutOfBoundsException
- 如果 posn 超出指定范围。
InvalidNameException
- 如果 n 不是一个组合名称,或者添加组件违反此组合名称的语法(例如,组件数超出)。
public Name add(String comp) throws InvalidNameException
comp
- 要添加的非 null 组件。
InvalidNameException
- 如果在该名称末尾添加 comp 违反该组合名称的语法。
public Name add(int posn, String comp) throws InvalidNameException
comp
- 要添加的非 null 组件。
posn
- 在其所在位置处添加新组件的索引。该索引必须在范围 [0,size()] 内。
ArrayIndexOutOfBoundsException
- 如果 posn 超出指定范围。
InvalidNameException
- 如果在指定位置添加 comp 违反该组合名称的语法。
public Object remove(int posn) throws InvalidNameException
posn
- 要删除的组件的索引。该索引必须在范围 [0,size()) 内。
ArrayIndexOutOfBoundsException
- 如果 posn 超出指定范围(包括组合名称为空的情况)。
InvalidNameException
- 如果删除组件违反该组合名称的语法。