|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.naming.ldap.Rdn
public class Rdn
このクラスは、相対識別名、または識別名のコンポーネントである RDN (RFC 2253 を参照) を表します。たとえば、「OU=Sales+CN=J.Smith」という RDN は、複数の属性/値ペアで構成されています。この RDN は、LdapName
のクラスの説明に記載されているように解析対象になります。
Rdn クラスは、RDN を、Attributes
を使って表示可能な属性の型と値のマッピングとして表現します。Rdn クラスには、Rdn が単一の型/値ペア (通常この形式で使用) で構成されているとき、この型と値を簡単に取得できるようにする便利なメソッドが含まれています。また、RFC 2253 に定義されているエスケープ構文に従って、書式なし属性値のエスケープと書式化された値のエスケープ解除を行なうヘルパーメソッドも含まれています。属性値を Object として取得、または返すメソッドの場合、値は String (エスケープ解除された書式) またはバイト配列になります。
Rdn
は、有効な RDN をすべて適切に解析する一方で、無効な RDN の解析時には、可能なすべての違反を検出しません。つまり、無効な RDN に対して「寛大」です。名前の有効性は、最終的に LDAP サーバに渡された時点で判定されます。LDAP サーバは、スキーマ情報や相互運用の要件などの各種要因に基づいて、渡された名前を受け付けるか拒否します。
次に示すのは、型と値を引数として取るコンストラクタを使って Rdn を構築するコード例です。
Rdn rdn = new Rdn("cn", "Juicy, Fruit"); System.out.println(rdn.toString());最終行により、cn=Juicy\, Fruit が出力されます。元の値 "Juicy, Fruit" 内のエスケープされたコンマのエスケープを解除するには、
unescapeValue()
メソッドを使用します。コンマの前にエスケープを追加するには、escapeValue()
メソッドを使用します。
このクラスは、RFC 2253 に定義されている RDN の文字列表現により、インスタンス化されます。次のコード例を参照してください。
Rdn rdn = new Rdn("cn=Juicy\\, Fruit"); System.out.println(rdn.toString());最終行により、cn=Juicy\, Fruit が出力されます。
Rdn のインスタンスに対する読み取り専用の並列マルチスレッドアクセスは、必ずしも同期させなくてもかまいません。
ほかで指定がない場合、null 引数をコンストラクタ、またはこのクラスのメソッドへ渡すと、NullPointerException がスローされます。
コンストラクタの概要 | |
---|---|
Rdn(Attributes attrSet)
指定の属性セットから Rdn を作成します。 |
|
Rdn(Rdn rdn)
指定の rdn から Rdn を作成します。 |
|
Rdn(String rdnString)
指定の文字列から Rdn を作成します。 |
|
Rdn(String type,
Object value)
指定の属性の型および値から Rdn を作成します。 |
メソッドの概要 | |
---|---|
int |
compareTo(Object obj)
Rdn と、指定された Object の順序を比較します。 |
boolean |
equals(Object obj)
指定の Object とこの Rdn の同等性を比較します。 |
static String |
escapeValue(Object val)
属性の値を指定し、RFC 2253 に指定されている規則に従ってエスケープされた文字列を返します。 |
String |
getType()
この Rdn の型の 1 つを取得します。 |
Object |
getValue()
この Rdn の値の 1 つを取得します。 |
int |
hashCode()
この RDN のハッシュコードを返します。 |
int |
size()
この Rdn に含まれる属性の型/値ペアの数を取得します。 |
Attributes |
toAttributes()
この Rdn に含まれる型/値のマッピングの Attributes ビューを取得します。 |
String |
toString()
RFC 2253 に定義され、 LdapName のクラスの説明に記載されている書式で表現された文字列として、この Rdn を返します。 |
static Object |
unescapeValue(String val)
RFC 2253 に指定されている規則に従って書式化された属性値の文字列を指定して、書式化されていない値を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public Rdn(Attributes attrSet) throws InvalidNameException
Attributes
を参照してください。
文字列の属性値は、RFC 2253 指定の書式の RDN 文字列とは解釈されません。つまり、これらの値は文字どおり解釈され (解析の対象にならない)、エスケープは解除されているものと見なされます。
attrSet
- 型/値のマッピングを含む null 以外の空でない属性
InvalidNameException
- attrSet の内容を使って有効な RDN を作成できない場合public Rdn(String rdnString) throws InvalidNameException
LdapName
のクラスの説明を参照してください。
rdnString
- RFC 2253 に定義されている書式を持つ、null 以外の空でない文字列
InvalidNameException
- rdnString の解析時に構文エラーが発生した場合public Rdn(Rdn rdn)
rdn
- コピーする null 以外の Rdnpublic Rdn(String type, Object value) throws InvalidNameException
type
- null 以外の空でない文字列の属性の型value
- null 以外の空でない文字列の属性の値
InvalidNameException
- 型/値のペアを使って有効な RDN を作成できない場合toString()
メソッドの詳細 |
---|
public Object getValue()
RDN の値が複数存在する場合、このメソッドは、getType()
メソッドによって返される型に対応する値を返します。
public String getType()
RDN の値が複数存在する場合、型/値ペアの順序は特に定義されていません。この場合、このメソッドは、型/値ペアのいずれか 1 つの型を返します。getValue()
メソッドは、このメソッドによって返される型に対応する値を返します。
public String toString()
LdapName
のクラスの説明に記載されている書式で表現された文字列として、この Rdn を返します。
Object
内の toString
public int compareTo(Object obj)
obj が null、または Rdn のインスタンスではない場合は、ClassCastException がスローされます。
RDN の属性の型と値のペアが、それぞれ辞書的に比較されます。複数の値を持つ Rdn (「ou=Sales+cn=Bob」など) を構成するコンポーネントの順序は、重要ではありません。
Comparable<Object>
内の compareTo
obj
- 比較される null 以外のオブジェクト
ClassCastException
- obj が null であるか、Rdn ではない場合
public boolean equals(Object obj)
型の値の同等性のマッチングは次のように行われます。
obj が null である場合、または Rdn のインスタンスではない場合は、false が返されます。
Object
内の equals
obj
- この Rdn と等しいかどうかを比較するオブジェクト
hashCode()
public int hashCode()
Object
内の hashCode
equals(java.lang.Object)
public Attributes toAttributes()
Attributes
ビューを取得します。
public int size()
public static String escapeValue(Object val)
たとえば、val が「Sue, Grabbit and Runn」の場合、このメソッドによって返されるエスケープされた値は、「Sue\, Grabbit and Runn」になります。
文字列値は、String と、バイト配列で表されるバイナリ値として表現されます。
val
- エスケープする null 以外のオブジェクト
ClassCastException
- val が String でもバイト配列でもない場合public static Object unescapeValue(String val)
正当な値と不当な値は、RFC 2253 に定義されています。このメソッドは、値を受け付けることに対して寛大で、不当な値をすべて検出しません。よって、不当な値を渡しても、必ずしも IllegalArgumentException はトリガされません。
val
- エスケープ解除する null 以外の文字列
IllegalArgumentException
- 不当な値が渡された場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。