JavaTM 2 Platform
Standard Ed. 6

javax.naming.directory
類別 BasicAttributes

java.lang.Object
  繼承者 javax.naming.directory.BasicAttributes
所有已實作的介面:
Serializable, Cloneable, Attributes

public class BasicAttributes
extends Object
implements Attributes

此類別提供 Attributes 介面的基本實作。

BasicAttributes 或者區分大小寫或者不區分大小寫(忽略大小寫)。此屬性在調用 BasicAttributes 建構子時確定。在不區分大小寫的 BasicAttributes 中,搜尋屬性或添加屬性時將忽略其屬性標識符的大小寫。在區分大小寫的 BasicAttributes 中,大小寫有意義。

BasicAttributes 類別需要創建 Attribute 時使用 BasicAttribute。對 BasicAttribute 沒有其他依賴性。

注意,更新 BasicAttributes(如添加或移除屬性)對目錄中的相應表示形式沒有影響。只有使用 DirContext 介面中的操作才能實作對目錄的更新。

BasicAttributes 實例與共時多執行緒存取不同步。試圖存取和修改單個 BasicAttributes 實例的多個執行緒應該鎖定物件。

從以下版本開始:
1.3
另請參見:
DirContext.getAttributes(javax.naming.Name), DirContext.modifyAttributes(javax.naming.Name, int, javax.naming.directory.Attributes), DirContext.bind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes), DirContext.rebind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes), DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes), DirContext.search(javax.naming.Name, javax.naming.directory.Attributes, java.lang.String[]), 序列化表格

建構子摘要
BasicAttributes()
          建構一個新的 Attributes 實例。
BasicAttributes(boolean ignoreCase)
          建構一個新的 Attributes 實例。
BasicAttributes(String attrID, Object val)
          建構帶有一個屬性的新 Attributes 實例。
BasicAttributes(String attrID, Object val, boolean ignoreCase)
          建構帶有一個屬性的新 Attributes 實例。
 
方法摘要
 Object clone()
          創建並返回此物件的一個副本。
 boolean equals(Object obj)
          確定此 BasicAttributes 是否等於另一個 Attributes
 Attribute get(String attrID)
          利用屬性集中的給定屬性 id 檢索屬性。
 NamingEnumeration<Attribute> getAll()
          檢索屬性集中屬性的列舉。
 NamingEnumeration<String> getIDs()
          檢索屬性集中屬性的 id 的列舉。
 int hashCode()
          計算此 BasicAttributes 的雜湊碼。
 boolean isCaseIgnored()
          確定在檢索或添加屬性時屬性集是否忽略屬性標識符的大小寫。
 Attribute put(Attribute attr)
          向屬性集中添加新屬性。
 Attribute put(String attrID, Object val)
          向屬性集中添加新屬性。
 Attribute remove(String attrID)
          從屬性集中移除屬性 id 為 'attrID' 的屬性。
 int size()
          在屬性集中檢索屬性數。
 String toString()
          產生此屬性集的字元串表示形式。
 
從類別 java.lang.Object 繼承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

BasicAttributes

public BasicAttributes()
建構一個新的 Attributes 實例。在後續檢索或添加屬性時屬性標識符的字元大小寫有意義。


BasicAttributes

public BasicAttributes(boolean ignoreCase)
建構一個新的 Attributes 實例。如果 ignoreCase 為 true,則忽略屬性標識符的字元大小寫;否則大小寫有意義。

參數:
ignoreCase - 為 true 表示在檢索或添加屬性時此屬性集將忽略其屬性標識符的大小寫;為 false 表示要考慮大小寫。

BasicAttributes

public BasicAttributes(String attrID,
                       Object val)
建構帶有一個屬性的新 Attributes 實例。將 attrID 和 val 指定的屬性添加到新創建的屬性中。在後續檢索或添加屬性時屬性標識符的字元大小寫有意義。

參數:
attrID - 要添加的非 null 屬性 id。
val - 要添加的屬性的值。如果為 null,則將 null 值添加到屬性中。

BasicAttributes

public BasicAttributes(String attrID,
                       Object val,
                       boolean ignoreCase)
建構帶有一個屬性的新 Attributes 實例。將 attrID 和 val 指定的屬性添加到新創建的屬性中。如果 ignoreCase 為 true,則忽略屬性標識符的字元大小寫;否則大小寫有意義。

參數:
attrID - 要添加的屬性的非 null id。如果此屬性集忽略其屬性 id 的字元大小寫,則忽略 attrID 的大小寫。
val - 要添加的屬性的值。如果為 null,則將 null 值添加到屬性中。
ignoreCase - 為 true 表示在檢索或添加屬性時此屬性集將忽略其屬性標識符的大小寫;為 false 表示要考慮大小寫。
方法詳細資訊

clone

public Object clone()
從類別 Object 複製的描述
創建並返回此物件的一個副本。「副本」的準確含義可能依賴於物件的類別。這樣做的目的是,對於任何物件 x,表達式:
x.clone() != x
為 true,表達式:
x.clone().getClass() == x.getClass()
也為 true,但這些並非必須要滿足的要求。一般情況下:
x.clone().equals(x)
true,但這並非必須要滿足的要求。

按照慣例,返回的物件應該通過調用 super.clone 獲得。如果一個類別及其所有的父級類別(Object 除外)都遵守此約定,則 x.clone().getClass() == x.getClass()

按照慣例,此方法返回的物件應該獨立於該物件(正被複製的物件)。要獲得此獨立性,在 super.clone 返回物件之前,有必要對該物件的一個或多個欄位進行修改。這通常意味著要複製包含正在被複製物件的內部「深層結構」的所有可變物件,並使用對副本的參考替換對這些物件的參考。如果一個類別只包含基本欄位或對不變物件的參考,那麼通常不需要修改 super.clone 返回的物件中的欄位。

Object 類別的 clone 方法執行特定的複製操作。首先,如果此物件的類別不能實作介面 Cloneable,則會拋出 CloneNotSupportedException。注意,所有的陣列都被視為實作介面 Cloneable。否則,此方法會創建此物件的類別的一個新實例,並像通過分派那樣,嚴格使用此物件相應欄位的內容初始化該物件的所有欄位;這些欄位的內容沒有被自我複製。所以,此方法執行的是該物件的「淺表複製」,而不「深層複製」操作。

Object 類別本身不實作介面 Cloneable,所以在類別為 Object 的物件上調用 clone 方法將會導致在運行時拋出異常。

指定者:
介面 Attributes 中的 clone
覆寫:
類別 Object 中的 clone
返回:
此實例的一個副本。
另請參見:
Cloneable

isCaseIgnored

public boolean isCaseIgnored()
從介面 Attributes 複製的描述
確定在檢索或添加屬性時屬性集是否忽略屬性標識符的大小寫。

指定者:
介面 Attributes 中的 isCaseIgnored
返回:
如果忽略大小寫,則返回 true;否則,返回 false。

size

public int size()
從介面 Attributes 複製的描述
在屬性集中檢索屬性數。

指定者:
介面 Attributes 中的 size
返回:
此屬性集中的非負屬性數。

get

public Attribute get(String attrID)
從介面 Attributes 複製的描述
利用屬性集中的給定屬性 id 檢索屬性。

指定者:
介面 Attributes 中的 get
參數:
attrID - 要檢索的屬性的非 null id。如果此屬性集忽略其屬性 id 的字元大小寫,則忽略 attrID 的大小寫。
返回:
由 attrID 標識的屬性;如果找不到,則返回 null。
另請參見:
Attributes.put(java.lang.String, java.lang.Object), Attributes.remove(java.lang.String)

getAll

public NamingEnumeration<Attribute> getAll()
從介面 Attributes 複製的描述
檢索屬性集中屬性的列舉。在此列舉上更新此屬性集的結果是不確定的。

指定者:
介面 Attributes 中的 getAll
返回:
此屬性集中屬性的非 null 列舉。每個列舉元素都屬於 Attribute 類別。如果屬性集的屬性數為零,則返回空列舉。

getIDs

public NamingEnumeration<String> getIDs()
從介面 Attributes 複製的描述
檢索屬性集中屬性的 id 的列舉。在此列舉上更新此屬性集的結果是不確定的。

指定者:
介面 Attributes 中的 getIDs
返回:
此屬性集中屬性 id 的非 null 列舉。每個列舉元素都屬於 String 類別。如果屬性集的屬性數為零,則返回空列舉。

put

public Attribute put(String attrID,
                     Object val)
從介面 Attributes 複製的描述
向屬性集中添加新屬性。

指定者:
介面 Attributes 中的 put
參數:
attrID - 要添加的屬性的非 null id。如果屬性集忽略其屬性 id 的字元大小寫,則忽略 attrID 的大小寫。
val - 要添加的屬性的可能為 null 的值。如果為 null,則屬性不具有任何值。
返回:
以前在此屬性集中的具有 attrID 的 Attribute;如果不存在這種屬性,則返回 null。
另請參見:
Attributes.remove(java.lang.String)

put

public Attribute put(Attribute attr)
從介面 Attributes 複製的描述
向屬性集中添加新屬性。

指定者:
介面 Attributes 中的 put
參數:
attr - 要添加的非 null 屬性。如果屬性集忽略其屬性 id 的字元大小寫,則忽略 attr 標識符的大小寫。
返回:
以前在此屬性集中的與 attr 具有相同 ID 的 Attribute;如果不存在這種屬性,則返回 null。
另請參見:
Attributes.remove(java.lang.String)

remove

public Attribute remove(String attrID)
從介面 Attributes 複製的描述
從屬性集中移除屬性 id 為 'attrID' 的屬性。如果該屬性不存在,則忽略。

指定者:
介面 Attributes 中的 remove
參數:
attrID - 要移除的屬性的非 null id。如果屬性集忽略其屬性 id 的字元大小寫,則忽略 attrID 的大小寫。
返回:
以前在屬性集中的與 attrID 具有相同 ID 的 Attribute;如果不存在這種屬性,則返回 null。

toString

public String toString()
產生此屬性集的字元串表示形式。字元串由每個屬性標識符和每個屬性的內容組成。此字元串的內容用於除錯目的,不以程式方式對其進行解釋。

覆寫:
類別 Object 中的 toString
返回:
列出此屬性集的內容的非 null 字元串。

equals

public boolean equals(Object obj)
確定此 BasicAttributes 是否等於另一個 Attributes。如果兩個 Attributes 均為 Attributes 的實例、對待屬性 ID 的大小寫的方式相同並且包含相同的屬性,則它們是相等的。此 BasicAttributes 中的每個 Attribute 的相等性都是使用 Object.equals() 檢查的(Attribute 的實作可能已經覆寫了該方法)。如果子類別覆寫 equals(),則其也應該覆寫 hashCode(),這樣兩個相等的 Attributes 實例才能具有相同的雜湊碼。

覆寫:
類別 Object 中的 equals
參數:
obj - 要與之比較的可能為 null 的物件。
返回:
如果 obj 等於此 BasicAttributes,則返回 true。
另請參見:
hashCode()

hashCode

public int hashCode()
計算此 BasicAttributes 的雜湊碼。

該雜湊碼通過加總此物件的屬性的雜湊碼來計算。如果此 BasicAttributes 忽略其屬性 ID 的大小寫,則將雜湊碼加一。如果子類別覆寫 hashCode(),則其也應該覆寫 equals(),這樣兩個相等的 Attributes 實例才能具有相同的雜湊碼。

覆寫:
類別 Object 中的 hashCode
返回:
表示此 BasicAttributes 實例的雜湊碼的 int。
另請參見:
equals(java.lang.Object)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only