public class CompositeName extends Object implements Name
合成名のコンポーネントには、番号が付けられます。N コンポーネントの合成名のインデックス範囲は、0 から N 未満の範囲で番号が付けられます。この範囲は、[0,N] と表されます。もっとも重要なコンポーネントは、インデックス 0 にあります。空の合成名にはコンポーネントはありません。
2 つの合成名を比較する場合は、大文字小文字の区別が重要になります。
先行するコンポーネント区切り文字 (区切り文字で始まる合成名の文字列) は、先行する空のコンポーネント (空の文字列で構成されるコンポーネント) を表します。末尾のコンポーネント区切り文字 (区切り文字で終わる合成名の文字列) は、末尾の空のコンポーネントを表します。隣接する複合区切り文字は、空のコンポーネントを表します。
文字列名 | CompositeName |
---|---|
"" | {} (空の名前 == 新しい CompositeName("") == 新しい 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)
2 つの合成名が等しいかを判定します。
|
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()
この合成名の文字列表記を生成します。
|
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()
public boolean equals(Object obj)
equals
、クラス: Object
obj
- 比較対象となる null の可能性があるオブジェクト。hashCode()
public int hashCode()
hashCode
、クラス: Object
equals(java.lang.Object)
public int compareTo(Object obj)
obj が null、または CompositeName のインスタンスではない場合は、ClassCastException がスローされます。
2 つの合成名が等しいとはどのような意味かについては、equals() を参照してください。2 つの合成名が等しい場合は、0 を返します。
合成名の順序付けは、文字列比較の辞書規則に従っています。合成名のすべてのコンポーネントに適用される拡張機能もあります。その結果、すべてのコンポーネントが指定した順序で、2 つのラインアップに適用された辞書規則に従って並べられたようになります。この合成名が「辞書規則に従って」obj より小さい場合は、負の数が返されます。この合成名が「辞書規則に従って」obj より大きい場合は、正の数が返されます。
compareTo
、インタフェース: Comparable<Object>
compareTo
、インタフェース: Name
obj
- 比較対象となる null 以外のオブジェクト。ClassCastException
- obj が CompositeName ではない場合。Comparable.compareTo(Object)
public Object clone()
public boolean isEmpty()
public Enumeration<String> getAll()
public String get(int posn)
get
、インタフェース: Name
posn
- 取得するコンポーネントの 0 から始まるインデックス。範囲は [0,size()] でなければならない。ArrayIndexOutOfBoundsException
- posn が指定された範囲にない場合。public Name getPrefix(int posn)
getPrefix
、インタフェース: Name
posn
- 停止する位置を示す、コンポーネントの 0 から始まるインデックス。範囲は [0,size()] でなければならない。ArrayIndexOutOfBoundsException
- posn が指定された範囲にない場合。public Name getSuffix(int posn)
getSuffix
、インタフェース: Name
posn
- 開始する位置を示す、コンポーネントの 0 から始まるインデックス。範囲は [0,size()] でなければならない。ArrayIndexOutOfBoundsException
- posn が指定された範囲にない場合。public boolean startsWith(Name n)
startsWith
、インタフェース: Name
n
- チェックする null の可能性がある名前。public boolean endsWith(Name n)
public Name addAll(Name suffix) throws InvalidNameException
addAll
、インタフェース: Name
suffix
- 追加する null 以外のコンポーネント。InvalidNameException
- 接尾辞が合成名ではない場合。public Name addAll(int posn, Name n) throws InvalidNameException
addAll
、インタフェース: Name
n
- 追加する null 以外のコンポーネント。posn
- 新しいコンポーネントを追加する位置を示す、この名前内のインデックス。範囲は [0,size()] でなければならない。InvalidNameException
- n が合成名ではない場合。ArrayIndexOutOfBoundsException
- posn が指定された範囲にない場合。public Name add(String comp) throws InvalidNameException
add
、インタフェース: Name
comp
- 追加する null 以外のコンポーネント。InvalidNameException
- 名前の最後への comp の追加が名前の構文に違反する場合。public Name add(int posn, String comp) throws InvalidNameException
add
、インタフェース: Name
comp
- 追加する null 以外のコンポーネント。posn
- 新しいコンポーネントを追加するインデックス。範囲は [0,size()] でなければならない。ArrayIndexOutOfBoundsException
- posn が指定された範囲にない場合。InvalidNameException
- 指定された位置への comp の追加が名前の構文に違反する場合。public Object remove(int posn) throws InvalidNameException
remove
、インタフェース: Name
posn
- 削除するコンポーネントのインデックス。範囲は [0,size()] でなければならない。ArrayIndexOutOfBoundsException
- 位置が指定した範囲にない場合 (合成名が空の場合を含む)。InvalidNameException
- コンポーネントを削除すると、名前の構文に違反する場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.