| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.naming.CompositeName
public class CompositeName
此类表示一个复合名称,即一个跨多个名称空间组件名称的序列。每个组件都是一个取自命名系统名称空间的字符串名称。如果组件取自层次名称空间,则可以通过使用 CompoundName 类将该组件进一步解析成其原子部分。
复合名称的组件都已编号。带 N 个组件的复合名称的索引在 0 到 N(但不包括 N)的范围内变动。可将该范围写为 [0,N)。最重要的组件位于索引 0 处。空复合名称没有组件。
在比较两个复合名称时,字符的大小写很重要。
前导组件分隔符(复合名称字符串以分隔符开始)表示一个前导空组件(由空字符串组成的组件)。尾部组件分隔符(复合名称以分隔符结束)表示一个尾部空组件。相邻的组件分隔符表示一个空组件。
| 字符串名称 | CompositeName | 
|---|---|
| "" | {} (the empty name == new CompositeName("") == new CompositeName()) | 
| "x" | {"x"} | 
| "x/y" | {"x", "y"} | 
| "x/" | {"x", ""} | 
| "/x" | {"", "x"} | 
| "/" | {""} | 
| "//" | {"", ""} | 
| "/x/" | {"", "x", ""} | 
| "x//y" | {"x", "", "y"} | 
| 字符串名称 | CompositeNames | 
|---|---|
| "x/y" + "/" = x/y/ | {"x", "y"} + {""} = {"x", "y", ""} | 
| "" + "x" = "x" | {} + {"x"} = {"x"} | 
| "/" + "x" = "/x" | {""} + {"x"} = {"", "x"} | 
| "x" + "" + "" = "x" | {"x"} + {} + {} = {"x"} | 
| 构造方法摘要 | |
|---|---|
|   | CompositeName()构造一个新的空复合名称。 | 
| protected  | CompositeName(Enumeration<String> comps)使用由 'comps' 指定的组件构造一个新的复合名称实例。 | 
|   | CompositeName(String n)通过使用复合名称语法(从左到右,用斜杠分隔)解析字符串 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)比较此 CompositeName 与指定 Object 的顺序。 | 
|  boolean | endsWith(Name n)确定某一复合名称是否是此复合名称的后缀。 | 
|  boolean | equals(Object 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 CompositeName(Enumeration<String> comps)
comps - 包含新复合名称组件的非 null 枚举。每个元素都属于 String 类。该枚举将被用来提取其元素。
public CompositeName(String n)
              throws InvalidNameException
n - 要解析的非 null 字符串。
InvalidNameException - 如果 n 的复合名称语法无效。public CompositeName()
isEmpty() 时将返回 true。
| 方法详细信息 | 
|---|
public String toString()
Object 中的 toStringpublic boolean equals(Object obj)
Object 中的 equalsobj - 要比较的可能为 null 的对象。
hashCode()public int hashCode()
Object 中的 hashCodeequals(java.lang.Object)public int compareTo(Object obj)
如果 obj 为 null 或者不是一个 CompositeName 实例,则抛出 ClassCastException。
关于这对两个复合名称相等性的意义,请参见 equals()。如果两个复合名称是相等的,则返回 0。
复合名称的排序遵从字符串比较的字典规则,并将此扩展到应用于复合名称中的所有组件。效果就像将所有组件按照指定的顺序排列起来,并在两个队列上应用字典规则。如果此复合名称“按字典顺序”小于 obj,则返回一个负数。如果此复合名称“按字典顺序”大于 obj,则返回一个正数。
Comparable<Object> 中的 compareToName 中的 compareToobj - 要与之比较的非 null 对象。
ClassCastException - 如果 obj 不是 CompositeName。Comparable.compareTo(Object)public Object clone()
Name 中的 cloneObject 中的 cloneCloneablepublic int size()
Name 中的 sizepublic boolean isEmpty()
Name 中的 isEmptypublic Enumeration<String> getAll()
Name 中的 getAllpublic String get(int posn)
Name 中的 getposn - 要检索的从 0 开始的组件索引。该索引必须在范围 [0,size()) 内。
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围。public Name getPrefix(int posn)
Name 中的 getPrefixposn - 从 0 开始的组件索引,在该索引处停止。该索引必须在范围 [0,size()] 内。
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围。public Name getSuffix(int posn)
Name 中的 getSuffixposn - 从 0 开始的组件索引,在该索引处开始。该索引必须在范围 [0,size()] 内。
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围。public boolean startsWith(Name n)
Name 中的 startsWithn - 要检查的可能为 null 的名称。
public boolean endsWith(Name n)
Name 中的 endsWithn - 要检查的可能为 null 的名称。
public Name addAll(Name suffix)
            throws InvalidNameException
Name 中的 addAllsuffix - 要添加的非 null 组件。
InvalidNameException - 如果后缀不是一个复合名称。
public Name addAll(int posn,
                   Name n)
            throws InvalidNameException
Name 中的 addAlln - 要添加的非 null 组件。posn - 此名称中的索引,将在该索引处添加新组件。该索引必须在范围 [0,size()] 内。
InvalidNameException - 如果 n 不是一个复合名称。
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围。
public Name add(String comp)
         throws InvalidNameException
Name 中的 addcomp - 要添加的非 null 组件。
InvalidNameException - 如果在该名称末尾添加 comp 违反该名称的语法。
public Name add(int posn,
                String comp)
         throws InvalidNameException
Name 中的 addcomp - 要添加的非 null 组件。posn - posn    在其所在位置处添加新组件的索引。该索引必须在范围 [0,size()) 内。
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围。
InvalidNameException - 如果在指定位置添加 comp 违反该名称的语法。
public Object remove(int posn)
              throws InvalidNameException
Name 中的 removeposn - 要删除的组件的索引。该索引必须在范围 [0,size()) 内。
ArrayIndexOutOfBoundsException - 如果 posn 超出指定范围(包括复合名称为空的情况)。
InvalidNameException - 如果删除组件违反该名称的语法。| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。