|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.naming.ldap.LdapName
public class LdapName
このクラスは、RFC 2253 に指定されている識別名を表します。識別名 (DN) は、「相対識別名 (RDN)」と呼ばれるコンポーネント群の順序付きリストです。DN の詳細は、RFC 2253 に記載されています。
このクラスは、RFC 2253 に見られるいくつかのあいまいな点を明らかにします。
LdapName
に渡される文字列名や LdapName
から返される文字列名は、完全な Unicode 文字セットを使用します。これらの文字列名には、「\B4」のような 3 文字のサブ文字列で表されるオクテットごとに、UTF-8 にエンコードされる文字を含めることができます。一方、文字列内の単一の文字で表されるオクテットごとに UTF-8 にエンコードされる文字を含めることはできません。この記述は、意味がやや曖昧です。
LdapName
は、有効な名前をすべて適切に解析する一方で、無効な名前の解析時には、違反の可能性を完全には検出しません。つまり、無効な名前に対して「寛大」です。名前の有効性は、最終的に LDAP サーバーに渡された時点で判定されます。 LDAP サーバーは、スキーマ情報や相互運用の要件などの各種要因に基づいて、渡された名前を受け付けるか拒否します。
同等性、属性の型、バイナリ値および文字列値のテスト時に、名前を構成するアルファベットの大文字と小文字は区別されません。引用、エスケープ、UTF-8 の 16 進エンコーディングが同じであれば、文字列値そのものが異なっていても、同一の文字列と見なされる複数の値を持つ RDN (「ou=Sales+cn=Bob」など) のコンポーネントの順序は、特に重要ではありません。
LDAP 名のコンポーネント (RDN) には番号が付けられています。n 個の RDN からなる LDAP 名のインデックスの範囲は 0 〜 (n-1) であり、[0,n] のように記述されます。一番右の RDN はインデックス 0、一番左の RDN はインデックス n-1 です。たとえば、「CN=Steve Kille, O=Isode Limited, C=GB」という識別名には、{C=GB, O=Isode Limited, CN=Steve Kille} の順に、0、1、2 という番号が付けられます。空の LDAP 名は、空の RDN リストで表されます。
LdapName のインスタンスに対する読み取り専用の同時マルチスレッドアクセスは、必ずしも同期させなくてもかまいません。
ほかで指定がない場合、null 引数をコンストラクタ、またはこのクラスのメソッドへ渡すと、NullPointerException がスローされます。
コンストラクタの概要 | |
---|---|
LdapName(List<Rdn> rdns)
解析済み RDN コンポーネントを指定して LDAP 名を作成します。 |
|
LdapName(String name)
識別名を指定して LDAP 名を作成します。 |
メソッドの概要 | |
---|---|
Name |
add(int posn,
Rdn comp)
単一の RDN を、この LDAP 名の指定の位置に追加します。 |
Name |
add(int posn,
String comp)
単一のコンポーネントを、この LDAP 名の指定の位置に追加します。 |
Name |
add(Rdn comp)
単一の RDN をこの LDAP 名の最後に追加します。 |
Name |
add(String comp)
単一のコンポーネントをこの LDAP 名の最後に追加します。 |
Name |
addAll(int posn,
List<Rdn> suffixRdns)
名前の RDN を、この名前の指定の位置に順に追加します。 |
Name |
addAll(int posn,
Name suffix)
名前のコンポーネントを、この名前の指定した位置に順に追加します。 |
Name |
addAll(List<Rdn> suffixRdns)
名前の RDN を、この名前の末尾に順に追加します。 |
Name |
addAll(Name suffix)
名前のコンポーネントを、この名前の末尾に順に追加します。 |
Object |
clone()
この名前のコピーを生成します。 |
int |
compareTo(Object obj)
LdapName と、指定された Object の順序を比較します。 |
boolean |
endsWith(List<Rdn> rdns)
指定の RDN シーケンスがこの LDAP 名の接尾辞になるかどうかを判定します。 |
boolean |
endsWith(Name n)
この LDAP 名が指定の LDAP 名の接尾辞で終わるかどうかが判定されます。 |
boolean |
equals(Object obj)
2 つの LDAP 名が等しいかどうかを判定します。 |
String |
get(int posn)
この LDAP 名のコンポーネントを文字列として取得します。 |
Enumeration<String> |
getAll()
この名前のコンポーネントを、文字列の列挙として取得します。 |
Name |
getPrefix(int posn)
コンポーネントがこの LDAP 名のコンポーネントの接頭辞で構成される名前を作成します。 |
Rdn |
getRdn(int posn)
この LDAP 名の RDN を Rdn として取得します。 |
List<Rdn> |
getRdns()
相対識別名のリストを取得します。 |
Name |
getSuffix(int posn)
コンポーネントがこの LDAP 名のコンポーネントの接尾辞で構成される名前を作成します。 |
int |
hashCode()
この LDAP 名のハッシュコードを計算します。 |
boolean |
isEmpty()
この LDAP 名が空かどうかを判定します。 |
Object |
remove(int posn)
この LDAP 名からコンポーネントを削除します。 |
int |
size()
この LDAP 名のコンポーネント数を取得します。 |
boolean |
startsWith(List<Rdn> rdns)
指定の RDN シーケンスがこの LDAP 名の接頭辞になるかどうかを判定します。 |
boolean |
startsWith(Name n)
この LDAP 名が指定の LDAP 名の接頭辞で始まるかどうかが判定されます。 |
String |
toString()
RFC 2253 に定義され、クラスの説明に記載されている書式で、この LDAP 名の文字列表現を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public LdapName(String name) throws InvalidNameException
name
- RFC 2253 に 指定された書式の null 以外の識別名
InvalidNameException
- 構文違反が検出された場合Rdn.escapeValue(Object value)
public LdapName(List<Rdn> rdns)
リスト内の RDN のインデックスは、クラスの説明に記述された RDN の番号付けに従って付けられます。
rdns
- この LDAP 名を構成する Rdn の null 以外のリストメソッドの詳細 |
---|
public int size()
Name
内の size
public boolean isEmpty()
Name
内の isEmpty
public Enumeration<String> getAll()
Name
内の getAll
public String get(int posn)
Name
内の get
posn
- 取得するコンポーネントの 0 から始まるインデックス範囲は [0,size()] でなければならない
IndexOutOfBoundsException
- 位置が指定した範囲にない場合public Rdn getRdn(int posn)
posn
- 取得する RDN の 0 から始まるインデックス。範囲は [0,size()] でなければならない
IndexOutOfBoundsException
- 位置が指定した範囲にない場合public Name getPrefix(int posn)
Name
内の getPrefix
posn
- 停止するコンポーネントの 0 から始まるインデックス範囲は [0,size()] でなければならない
IndexOutOfBoundsException
- 位置が指定した範囲にない場合public Name getSuffix(int posn)
Name
内の getSuffix
posn
- 開始するコンポーネントの 0 から始まるインデックス範囲は [0,size()] でなければならない
IndexOutOfBoundsException
- 位置が指定した範囲にない場合public boolean startsWith(Name n)
Name
内の startsWith
n
- チェック対象の LDAP 名
getPrefix(int posn)
public boolean startsWith(List<Rdn> rdns)
rdns
- チェックする Rdn シーケンス
public boolean endsWith(Name n)
Name
内の endsWith
n
- チェック対象の LDAP 名
getSuffix(int posn)
public boolean endsWith(List<Rdn> rdns)
rdns
- チェックする Rdn シーケンス
public Name addAll(Name suffix) throws InvalidNameException
Name
内の addAll
suffix
- 追加する null 以外のコンポーネント
InvalidNameException
- suffix が有効な LDAP 名ではない場合、 またはコンポーネントの追加がこの LDAP 名の構文規則に 違反する場合public Name addAll(List<Rdn> suffixRdns)
suffixRdns
- 追加する null 以外の接尾辞 Rdn
public Name addAll(int posn, Name suffix) throws InvalidNameException
Name
内の addAll
suffix
- 追加する null 以外のコンポーネントposn
- 新しいコンポーネントが追加されるインデックス範囲は [0,size()] でなければならない
InvalidNameException
- suffix が有効な LDAP 名ではない場合、 またはコンポーネントの追加がこの LDAP 名の構文規則に 違反する場合
IndexOutOfBoundsException.
- 位置が指定した範囲にない場合public Name addAll(int posn, List<Rdn> suffixRdns)
suffixRdns
- 追加する null 以外の接尾辞 Rdnposn
- RDN が追加されるインデックス。範囲は [0,size()] でなければならない
IndexOutOfBoundsException.
- 位置が指定した範囲にない場合public Name add(String comp) throws InvalidNameException
Name
内の add
comp
- 追加する null 以外のコンポーネント
InvalidNameException
- 名前の最後にコンポーネントを追加すると、名前の構文に違反する場合public Name add(Rdn comp)
comp
- 追加する null 以外の RDN
public Name add(int posn, String comp) throws InvalidNameException
Name
内の add
comp
- 追加する null 以外のコンポーネントposn
- 新しいコンポーネントが追加されるインデックス範囲は [0,size()] でなければならない
IndexOutOfBoundsException.
- 位置が指定した範囲にない場合
InvalidNameException
- 指定した位置にコンポーネントを追加すると、名前の構文に違反する場合public Name add(int posn, Rdn comp)
comp
- 追加する null 以外の RDNposn
- 新しい RDN が追加されるインデックス。範囲は [0,size()] でなければならない
IndexOutOfBoundsException
- 位置が指定した範囲にない場合public Object remove(int posn) throws InvalidNameException
Name
内の remove
posn
- 削除するコンポーネントのインデックス。範囲は [0,size()] でなければならない
IndexOutOfBoundsException
- 位置が指定した範囲にない場合
InvalidNameException
- コンポーネントの削除がこの名前の構文規則に違反する場合public List<Rdn> getRdns()
Rdn
クラスのインスタンスである RDN のリストで表される名前public Object clone()
Name
内の clone
Object
内の clone
Cloneable
public String toString()
Object
内の toString
public boolean equals(Object obj)
一方の LDAP 名の RDN がもう一方の LDAP 名の対応する RDN と等しければ、2 つの LDAP 名は等しいことになります。これは、2 つの LDAP 名が同じ数の RDN から構成され、対応するそれぞれの RDN の equals() テストが true を返すことを意味します。RDN の同等性の定義については、Rdn.equals(Object obj)
を参照してください。
Object
内の equals
obj
- null の可能性がある比較対照オブジェクト
hashCode()
public int compareTo(Object obj)
obj が null であるか、LdapName のインスタンスでない場合は、ClassCastException がスローされます。
LDAP 名の順序付けは、文字を比較するときの辞書的な規則に従います。 LDAP 名に含まれるすべての RDN に拡張子が適用されます。すべての RDN は指定順に並べられ、辞書的に比較されます。RDN の比較規則については、Rdn.compareTo(Object obj)
を参照してください。
この LDAP 名が辞書的に obj よりも短い場合、負の数が返されます。この LDAP 名が辞書的に obj よりも長い場合、正の数が返されます。
Comparable<Object>
内の compareTo
Name
内の compareTo
obj
- 比較される null 以外の LdapName
ClassCastException
- obj が LdapName ではない場合Comparable.compareTo(Object)
public int hashCode()
Object
内の hashCode
equals(java.lang.Object)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。