|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.naming.ldap.LdapName
public class LdapName
此類別表示 RFC 2253 指定的標識名。標識名(即 DN)由名為相對標識名(即 RDN)的一列有序元件組成。RFC 2253 中描述了 DN 的語法細節。
此類別對 RFC 2253 中存在的一些歧義解釋如下:
傳遞給 LdapName
或由它返回的字元串名稱使用完整的 Unicode 字元集。它們也可能包含一些編碼為 UTF-8 的字元,用三字元的子字元串(如 "\\B4")表示其中每個八位組。但是,它們不能包含編碼為 UTF-8 並使用該字元串中的單個字元表示每個八位組的字元:因為這可能會使含義不明確。
LdapName
將恰當地解析所有有效名稱,但是在解析無效名稱時不會嘗試檢測所有可能的錯誤情況。在接受無效名稱時,它顯得很“大方”。名稱的“有效性”在將名稱提供給 LDAP 伺服器時最終確定,伺服器將基於名稱的網要資訊和互操作性考慮之類別的因素來決定接受還是拒絕該名稱。
在測試名稱的相等性時,屬性型別(二進制和字元串值)不區分大小寫。值不同但使用等效的參考、轉義或 UTF8 十六進制編碼的字元串視為相等。多值 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" 按以下順序進行編號,範圍為從 0 到 2:{C=GB, O=Isode Limited, CN=Steve Kille}。空 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)
確定兩個 LDAP 名稱是否相等。 |
String |
get(int posn)
以字元串形式檢索此 LDAP 名稱的元件。 |
Enumeration<String> |
getAll()
以字元串列舉的形式檢索此名稱的元件。 |
Name |
getPrefix(int posn)
創建一個名稱,其元件由此 LDAP 名稱中元件的前綴組成。 |
Rdn |
getRdn(int posn)
以 Rdn 形式檢索此 LDAP 名稱的 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()
返回一個此 LDAP 名稱的字元串表示形式,該表示形式使用 RFC 2253 定義並在類別描述中描述的格式。 |
從類別 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 名稱的非 null Rdn 列表。方法詳細資訊 |
---|
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
- 如果 posn 超出指定範圍。public Rdn getRdn(int posn)
posn
- 要檢索的從 0 開始的 RDN 索引。該索引必須在範圍 [0,size()) 內。
IndexOutOfBoundsException
- 如果 posn 超出指定範圍。public Name getPrefix(int posn)
Name
中的 getPrefix
posn
- 從 0 開始的元件索引,在該索引處停止。該索引必須在範圍 [0,size()] 內。
IndexOutOfBoundsException
- 如果 posn 超出指定範圍。public Name getSuffix(int posn)
Name
中的 getSuffix
posn
- 從 0 開始的元件索引,在該索引處開始。該索引必須在範圍 [0,size()] 內。
IndexOutOfBoundsException
- 如果 posn 超出指定範圍。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
- 如果 posn 超出指定範圍。public Name addAll(int posn, List<Rdn> suffixRdns)
suffixRdns
- 要添加的非 null 後綴 Rdn。posn
- 在其所在位置處添加後綴 RDN 的索引。該索引必須在範圍 [0,size()] 內。
IndexOutOfBoundsException.如果
- posn 超出指定範圍。public Name add(String comp) throws InvalidNameException
Name
中的 add
comp
- 要添加的非 null 元件。
InvalidNameException
- 如果在該名稱末尾添加 comp 違反該名稱的語法。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
- 如果 posn 超出指定範圍。
InvalidNameException
- 如果在指定位置添加 comp 違反該名稱的語法。public Name add(int posn, Rdn comp)
comp
- 要添加的非 null RDN。posn
- 在其所在位置處添加新 RDN 的索引。該索引必須在範圍 [0,size()] 內。
IndexOutOfBoundsException
- 如果 posn 超出指定範圍。public Object remove(int posn) throws InvalidNameException
Name
中的 remove
posn
- 要移除的元件的索引。該索引必須在範圍 [0,size()) 內。
IndexOutOfBoundsException
- 如果 posn 超出指定範圍。
InvalidNameException
- 如果刪除元件將違反該名稱的語法規則。public List<Rdn> getRdns()
Rdn
類別的實例。public Object clone()
Name
中的 clone
Object
中的 clone
Cloneable
public String toString()
Object
中的 toString
public boolean equals(Object obj)
如果一個 LDAP 名稱中的每個 RDN 都等於另一個 LDAP 名稱中的相應 RDN,則兩個 LDAP 名稱相等。這意味著兩個 LDAP 名稱有相同數量的 RDN,並且每個 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 為 null 或者不是一個 LdapName。Comparable.compareTo(Object)
public int hashCode()
Object
中的 hashCode
equals(java.lang.Object)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。