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, 2014, Oracle and/or its affiliates. All rights reserved.