|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.naming.ldap.Rdn
public class Rdn
此類別表示相對標識名,或 RDN,它是一個 RFC 2253 指定的標識名元件。RDN 的一個範例是 "OU=Sales+CN=J.Smith"。在此範例中,RDN 由多個屬性型別/值對組成。RDN 根據 LdapName
類別描述中的描述進行解析。
Rdn 類別將 RDN 表示為屬性型別/值映射關係,可以使用 Attributes
查看。此外,它還包含一些便捷方法,允許在 Rdn 由單個型別/值對組成(這是該類別的典型使用方式)時對型別和值進行方便地檢索。它還包含一些說明器方法,允許根據 RFC2253 中定義的轉義語法轉義非格式化的屬性值和取消格式化值的轉義。對於採用或返回 Object 形式的屬性值的方法,該值可能為 String(非轉義形式的),也可能為位元組陣列。
Rdn
將恰當地解析所有有效 RDN,但是在解析無效 RDN 時不會嘗試檢測所有可能的錯誤情況。在接受無效 RDN 時,它顯得很“大方”。名稱的“有效性”在將名稱提供給 LDAP 伺服器時最終確定,伺服器將基於名稱的網要資訊和互操作性考慮之類別的因素來決定接受還是拒絕該名稱。
以下範例程式碼展示了如何使用將型別和值用作參數的建構子建構 Rdn:
Rdn rdn = new Rdn("cn", "Juicy, Fruit"); System.out.println(rdn.toString());最後一行將列印 cn=Juicy\, Fruit。
unescapeValue()
方法可用於取消在初始值 "Juicy, Fruit" 中所產生的轉義逗號的轉義。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 的型別。 |
Object |
getValue()
檢索一個此 Rdn 的值。 |
int |
hashCode()
返回此 RDN 的雜湊碼。 |
int |
size()
檢索此 Rdn 中的屬性型別/值對的數目。 |
Attributes |
toAttributes()
檢索此 Rdn 中包含的型別/值映射關係的 Attributes 視圖。 |
String |
toString()
以字元串形式返回此 Rdn,該字元串使用由 RFC 2253 定義並在 LdapName 類別描述中描述的格式表示。 |
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 非空(null)屬性。
InvalidNameException
- 如果無法使用 attrSet 的內容建構有效的 RDN。public Rdn(String rdnString) throws InvalidNameException
LdapName
類別描述中描述的規則格式化的字元串。
rdnString
- 非 null 和非空(null) RFC2253 格式化字元串。
InvalidNameException
- 如果在解析 rdnString 期間發生語法錯誤。public Rdn(Rdn rdn)
rdn
- 要複製的非 null Rdn。public Rdn(String type, Object value) throws InvalidNameException
type
- 非 null 和非空(null)字元串屬性型別。value
- 非 null 和非空(null)屬性值。
InvalidNameException
- 如果無法使用型別/值建構有效的 RDN。toString()
方法詳細資訊 |
---|
public Object getValue()
對於多值 RDN,此方法返回與 getType()
方法返回的型別相對應的值。
public String getType()
對於多值 RDN,型別/值對不具有對其定義的任何特定順序。在這種情況下,此方法返回一種型別/值對的型別。getValue()
方法返回與此方法返回的型別相對應的值。
public String toString()
LdapName
類別描述中描述的格式表示。
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. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。