JavaTM 2 Platform
Standard Ed. 6

javax.management.openmbean
類別 TabularDataSupport

java.lang.Object
  繼承者 javax.management.openmbean.TabularDataSupport
所有已實作的介面:
Serializable, Cloneable, Map<Object,Object>, TabularData

public class TabularDataSupport
extends Object
implements TabularData, Map<Object,Object>, Cloneable, Serializable

TabularDataSupport 類別是實作 TabularDataMap 介面的開放資料 類別,並且在內部它是基於雜湊映射資料結構的。

從以下版本開始:
1.5
另請參見:
序列化表格

巢狀類別摘要
 
從介面 java.util.Map 繼承的巢狀類別/介面
Map.Entry<K,V>
 
建構子摘要
TabularDataSupport(TabularType tabularType)
          創建一個空 TabularDataSupport 實例,其開放型別是 tabularType,並且它的基礎 HashMap 具有預設初始容量 (101) 和預設載入因子 (0.75)。
TabularDataSupport(TabularType tabularType, int initialCapacity, float loadFactor)
          創建一個空 TabularDataSupport 實例,其開放型別為 tabularType,它的基礎 HashMap 具有指定的初始容量和載入因子。
 
方法摘要
 Object[] calculateIndex(CompositeData value)
          計算將在此 TabularData 實例中使用的索引,以便在指定的復合資料 value 參數添加到此實例後參考該參數。
 void clear()
          從此 TabularDataSupport 實例中移除所有行。
 Object clone()
          返回此 TabularDataSupport 實例的一個副本:通過調用 super.clone(),然後副本此基礎映射,即可得到該副本。
 boolean containsKey(Object key)
          當且僅當此 TabularData 實例包含索引為指定 keyCompositeData 值(即行)時,才返回 true
 boolean containsKey(Object[] key)
          當且僅當此 TabularData 實例包含索引為指定 keyCompositeData 值(即行)時,才返回 true
 boolean containsValue(CompositeData value)
          當且僅當此 TabularData 實例包含指定的 CompositeData 值時才返回 true
 boolean containsValue(Object value)
          當且僅當此 TabularData 實例包含指定的值時,才返回 true
 Set<Map.Entry<Object,Object>> entrySet()
          返回此 TabularDataSupport 實例中包含的行映射的索引的 collection 視圖。
 boolean equals(Object obj)
          比較指定的 obj 參數與此 TabularDataSupport 實例的相等性。
 Object get(Object key)
          此方法僅調用 get((Object[]) key)
 CompositeData get(Object[] key)
          返回此 TabularData 實例中索引為 keyCompositeData 值,如果沒有映射到 key 的值,則返回 null
 TabularType getTabularType()
          返回描述此 TabularData 實例的表格型別
 int hashCode()
          返回此 TabularDataSupport 實例的雜湊碼值。
 boolean isEmpty()
          如果此 TabularDataSupport 實例不包含任何行,則返回 true
 Set<Object> keySet()
          返回包含在此 TabularDataSupport 實例的基礎映射中的鍵的 set 視圖,並用於索引行。
 void put(CompositeData value)
          將 value 添加到此 TabularData 實例。
 Object put(Object key, Object value)
          此方法僅調用 put((CompositeData) value),因此忽略其可能為 nullkey 參數。
 void putAll(CompositeData[] values)
          將 values 中的所有元素添加到此 TabularData 實例。
 void putAll(Map<?,?> t)
          將包含在指定映射 t 中的所有值添加到此 TabularData 實例。
 Object remove(Object key)
          此方法僅調用 remove((Object[]) key)
 CompositeData remove(Object[] key)
          從此 TabularData 實例中移除索引為 keyCompositeData 值,並返回被移除的值,如果不存在索引為 key 的值,則返回 null
 int size()
          返回此 TabularDataSupport 實例中的行數。
 String toString()
          返回此 TabularDataSupport 實例的字元串表示形式。
 Collection<Object> values()
          返回包含在此 TabularDataSupport 實例中的行的 collection 視圖。
 
從類別 java.lang.Object 繼承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

TabularDataSupport

public TabularDataSupport(TabularType tabularType)
創建一個空 TabularDataSupport 實例,其開放型別是 tabularType,並且它的基礎 HashMap 具有預設初始容量 (101) 和預設載入因子 (0.75)。

此建構子僅調用 this(tabularType, 101, 0.75f);

參數:
tabularType - 描述此 TabularData 實例的表格型別;不可以為 null。
拋出:
IllegalArgumentException - 如果表格型別為 null。

TabularDataSupport

public TabularDataSupport(TabularType tabularType,
                          int initialCapacity,
                          float loadFactor)
創建一個空 TabularDataSupport 實例,其開放型別為 tabularType,它的基礎 HashMap 具有指定的初始容量和載入因子。

參數:
tabularType - 描述此 TabularData 實例的表格型別;不可以為 null。
initialCapacity - HashMap 的初始容量。
loadFactor - HashMap 的載入因子
拋出:
IllegalArgumentException - 如果初始容量小於零或者載入因子為非正數,或者表格型別為 null。
方法詳細資訊

getTabularType

public TabularType getTabularType()
返回描述此 TabularData 實例的表格型別

指定者:
介面 TabularData 中的 getTabularType
返回:
表格型別。

calculateIndex

public Object[] calculateIndex(CompositeData value)
計算將在此 TabularData 實例中使用的索引,以便在指定的復合資料 value 參數添加到此實例後參考該參數。此方法檢查指定 value 的型別有效性,但不檢查計算的索引是否已用於參考此 TabularData 實例中的值。

指定者:
介面 TabularData 中的 calculateIndex
參數:
value - 要計算其在此 TabularData 實例中的索引的復合資料值;必須是與此實例的行型別相同的復合型別;而且不可以為 null。
返回:
TabularData 實例中指定的 value 將具有的索引。
拋出:
NullPointerException - 如果 valuenull
InvalidOpenTypeException - 如果 value 不符合此 TabularData 實例的行型別定義。

containsKey

public boolean containsKey(Object key)
當且僅當此 TabularData 實例包含索引為指定 keyCompositeData 值(即行)時,才返回 true。如果 key 不能被強制轉換成 Object 實例的一維陣列,則此方法僅返回 false;否則此方法返回對 this.containsKey((Object[]) key) 調用的結果。

指定者:
介面 Map<Object,Object> 中的 containsKey
參數:
key - 將測試其是否存在於此 TabularData 實例中的索引值。
返回:
如果此 TabularData 使用指定的鍵索引一個行值,則返回 true

containsKey

public boolean containsKey(Object[] key)
當且僅當此 TabularData 實例包含索引為指定 keyCompositeData 值(即行)時,才返回 true。如果 keynull 或者不符合此 TabularData 實例的 TabularType 定義,則此方法僅返回 false

指定者:
介面 TabularData 中的 containsKey
參數:
key - 將測試其是否存在於此 TabularData 實例中的索引值。
返回:
如果此 TabularData 使用指定的鍵來索引一個行值,則返回 true

containsValue

public boolean containsValue(CompositeData value)
當且僅當此 TabularData 實例包含指定的 CompositeData 值時才返回 true。如果 valuenull 或者不符合此 TabularData 實例的行型別定義,則此方法僅返回 false

指定者:
介面 TabularData 中的 containsValue
參數:
value - 將測試其是否存在於此 TabularData 實例中的行值。
返回:
如果此 TabularData 實例包含指定的行值,則返回 true

containsValue

public boolean containsValue(Object value)
當且僅當此 TabularData 實例包含指定的值時,才返回 true

指定者:
介面 Map<Object,Object> 中的 containsValue
參數:
value - 將測試其是否存在於此 TabularData 實例中的行值。
返回:
如果此 TabularData 實例包含指定的行值,則返回 true

get

public Object get(Object key)
此方法僅調用 get((Object[]) key)

指定者:
介面 Map<Object,Object> 中的 get
參數:
key - 要返回其關聯值的鍵
返回:
指定鍵所映射的值;如果此映射不包含該鍵的映射關係,則返回 null
拋出:
NullPointerException - 如果 keynull
ClassCastException - 如果 key 不屬於 Object[] 型別
InvalidKeyException - 如果 key 不符合此 TabularData 實例的 TabularType 定義。

get

public CompositeData get(Object[] key)
返回此 TabularData 實例中索引為 keyCompositeData 值,如果沒有映射到 key 的值,則返回 null

指定者:
介面 TabularData 中的 get
參數:
key - 要獲取的此 TabularData 實例中值的索引;*必須對此 TabularData 實例的行型別定義有效;*並且不可以為 null。
返回:
key 對應的值。
拋出:
NullPointerException - 如果 keynull
InvalidKeyException - 如果 key 不符合此 TabularData 實例的 TabularType 型別定義。

put

public Object put(Object key,
                  Object value)
此方法僅調用 put((CompositeData) value),因此忽略其可能為 nullkey 參數。

指定者:
介面 Map<Object,Object> 中的 put
參數:
key - 被忽略的參數。
value - 要放入的 CompositeData
返回:
被放入的值
拋出:
NullPointerException - 如果 valuenull
ClassCastException - 如果 value 不屬於 CompositeData 型別
InvalidOpenTypeException - 如果 value 不符合此 TabularData 實例的 TabularType 定義
KeyAlreadyExistsException - 如果根據此 TabularData 實例的 TabularType 定義計算的 value 參數的鍵已經映射到一個現有的值。

put

public void put(CompositeData value)
從介面 TabularData 複製的描述
value 添加到此 TabularData 實例。value 的復合型別必須與此實例的行型別(即 this.getTabularType().getRowType() 返回的復合型別)相同,並且此 TabularData 實例中現有值的索引不能與要添加的 value 計算的索引相同。value 的索引是根據此 TabularData 實例的 TabularType 定義計算的(請參見 TabularType.getIndexNames())。

指定者:
介面 TabularData 中的 put
參數:
value - 要作為新行添加到此 TabularData 實例中的復合資料值;必須是與此實例的行型別相同的復合型別;並且不可以為 null。

remove

public Object remove(Object key)
此方法僅調用 remove((Object[]) key)

指定者:
介面 Map<Object,Object> 中的 remove
參數:
key - 表示要移除鍵的 Object[]
返回:
以前與指定鍵相關聯的值,如果沒有該鍵的映射關係,則返回 null
拋出:
NullPointerException - 如果 keynull
ClassCastException - 如果 key 不屬於 Object[] 型別
InvalidKeyException - 如果 key 不符合此 TabularData 實例的 TabularType 定義。

remove

public CompositeData remove(Object[] key)
從此 TabularData 實例中移除索引為 keyCompositeData 值,並返回被移除的值,如果不存在索引為 key 的值,則返回 null

指定者:
介面 TabularData 中的 remove
參數:
key - 要獲取的此 TabularData 實例中值的索引;必須對此 TabularData 實例的行型別定義有效;並且不可以為 null。
返回:
以前與指定鍵相關聯的值,如果沒有該鍵的映射關係,則返回 null
拋出:
NullPointerException - 如果 keynull
InvalidKeyException - 如果 key 不符合此 TabularData 實例的 TabularType 定義

putAll

public void putAll(Map<?,?> t)
將包含在指定映射 t 中的所有值添加到此 TabularData 實例。此方法把包含在此映射中的值的集合轉換為 CompositeData 值的陣列(如果可能),然後調用方法 putAll(CompositeData[])。注意,在指定映射 t 中使用的鍵被忽略。例如,此方法允許將具有相同行型別(但是可能有不同的索引名稱)的其他 TabularData 實例的內容添加到此實例中。

指定者:
介面 Map<Object,Object> 中的 putAll
參數:
t - 其值作為新行添加到此 TabularData 實例中的映射;如果 tnull 或空,則此方法直接返回而不執行任何操作。
拋出:
NullPointerException - 如果 t 中的值為 null
ClassCastException - 如果 t 中的值不是 CompositeData 的實例。
InvalidOpenTypeException - 如果 t 中的值不符合此 TabularData 實例的行型別定義。
KeyAlreadyExistsException - 如果根據此 TabularData 實例的 TabularType 定義計算的 t 中的值的索引已經映射到此實例中現有的值,或者 t 中的兩個值具有相同的索引。

putAll

public void putAll(CompositeData[] values)
values 中的所有元素添加到此 TabularData 實例。如果根據此 TabularData 實例的 TabularType 定義計算的 values 中的任何元素都不滿足 put 中定義的約束,或者 values 中的任何兩個元素具有相同的索引,則拋出一個描述失敗的異常,並且不添加 values 的任何元素,因此,此 TabularData 實例保持不變。

指定者:
介面 TabularData 中的 putAll
參數:
values - 作為新行添加到此 TabularData 實例的復合資料值的陣列;如果 valuesnull 或者為空,則此方法直接返回且不執行任何操作。
拋出:
NullPointerException - 如果 values 的一個元素為 null
InvalidOpenTypeException - 如果 values 的某個元素不符合此 TabularData 實例的行型別定義(即其 TabularType 定義)
KeyAlreadyExistsException - 如果根據此 TabularData 實例的 TabularType 定義計算的 values 的某個元素的索引已經映射到此實例中現有的值,或者 values 的兩個元素具有相同的索引

clear

public void clear()
從此 TabularDataSupport 實例中移除所有行。

指定者:
介面 Map<Object,Object> 中的 clear
指定者:
介面 TabularData 中的 clear

size

public int size()
返回此 TabularDataSupport 實例中的行數。

指定者:
介面 Map<Object,Object> 中的 size
指定者:
介面 TabularData 中的 size
返回:
TabularDatasupport 實例中的行數。

isEmpty

public boolean isEmpty()
如果此 TabularDataSupport 實例不包含任何行,則返回 true

指定者:
介面 Map<Object,Object> 中的 isEmpty
指定者:
介面 TabularData 中的 isEmpty
返回:
如果此 TabularDataSupport 實例不包含任何行,則返回 true

keySet

public Set<Object> keySet()
返回包含在此 TabularDataSupport 實例的基礎映射中的鍵的 set 視圖,並用於索引行。此 Set 中包含的每個鍵都是一個不可修改的 List<?>。因此返回的 set 示圖是一個 Set<List<?>>,但出於相容性原因被宣告為 Set<Object>。該 set 受此 TabularDataSupport 實例的基礎映射支持,所以對 TabularDataSupport 實例的更改可在此 set 中反映出來,反之亦然。該 set 支持元素的移除,通過 Iterator.remove()Set.remove(java.lang.Object)、Set#removeAll、{@link Set#retainAll} 和 {@link Set#clear} 操作,從此 {@code TabularDataSupport} 實例中移除相應的行。它不支持 {@link Set#add} 或 {@link Set#addAll} 操作。

指定者:
介面 Map<Object,Object> 中的 keySet
指定者:
介面 TabularData 中的 keySet
返回:
用於對此 TabularDataSupport 實例的行進行索引的鍵的 set 視圖 (Set<List<?>>)。

values

public Collection<Object> values()
返回包含在此 TabularDataSupport 實例中的行的 collection 視圖。返回的 Collection 是一個 Collection<CompositeData><?>>,但出於相容性原因被宣告為 Collection<?>。該 collection 受基礎映射支持,所以對 TabularDataSupport 實例的更改可在此 collection 中反映出來,反之亦然。 該集合支持元素的移除,通過 Iterator.remove()Collection.remove(java.lang.Object)Collection.removeAll(java.util.Collection)Collection.retainAll(java.util.Collection)Collection.clear() 操作,從此 TabularDataSupport 實例中移除相應的行映射索引。它不支持 Collection.add(E)Collection.addAll(java.util.Collection) 操作。

指定者:
介面 Map<Object,Object> 中的 values
指定者:
介面 TabularData 中的 values
返回:
TabularDataSupport 實例中包含的值的 collection 視圖 (Collection<CompositeData>)。

entrySet

public Set<Map.Entry<Object,Object>> entrySet()
返回此 TabularDataSupport 實例中包含的行映射的索引的 collection 視圖。在返回的集合中,每個元素都是一個 Map.Entry<List<?>,CompositeData>,但出於相容性原因被宣告為 Map.Entry<Object,Object>。 每個映射項鍵都是一個不可修改的 List<?>。該 collection 受此 TabularDataSupport 實例的基礎映射支持,因此對 TabularDataSupport 實例的更改會在該集合中反映出來,反之亦然。該集合支持元素的移除,通過 Iterator.remove()Collection.remove(java.lang.Object)Collection.removeAll(java.util.Collection)Collection.retainAll(java.util.Collection)Collection.clear() 操作,從該映射中移除相應的映射關係。它不支持 Collection.add(E)Collection.addAll(java.util.Collection) 操作。

重要注意事項:不要使用返回的 collection 視圖中包含的 Map.Entry 元素的 setValue 方法。這樣做會破壞此 TabularDataSupport 實例中包含的行映射的索引。

指定者:
介面 Map<Object,Object> 中的 entrySet
返回:
此映射所包含的映射關係的 collection 視圖 (Set<Map.Entry<List<?>,CompositeData>>)。
另請參見:
Map.Entry

clone

public Object clone()
返回此 TabularDataSupport 實例的一個副本:通過調用 super.clone(),然後副本此基礎映射,即可得到該副本。僅對此基礎映射進行淺表複製,也就是說,由於索引和行值是不可改變的,因此不複製它們。

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

equals

public boolean equals(Object obj)
比較指定的 obj 參數與此 TabularDataSupport 實例的相等性。

當且僅當下面的所有語句均為 true 時,才返回 true

這確保了此 equals 方法對作為 TabularData 介面的不同實作的 obj 參數正常工作。
 

指定者:
介面 Map<Object,Object> 中的 equals
指定者:
介面 TabularData 中的 equals
覆寫:
類別 Object 中的 equals
參數:
obj - 與此 TabularDataSupport 實例進行相等性比較的物件。
返回:
如果指定的物件等於此 TabularDataSupport 實例,則返回 true
另請參見:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回此 TabularDataSupport 實例的雜湊碼值。

TabularDataSupport 實例的雜湊碼是 equals 比較中使用的資訊的所有元素的雜湊碼總和(即其表格型別 和內容,其中內容被定義為所有 CompositeData 值)。

這確保 t1.equals(t2) 意味著對於任何兩個 TabularDataSupport 實例 t1t2 而言,都存在 t1.hashCode()==t2.hashCode(),這是方法 Object.hashCode() 的通用協定所要求的。

不過請注意,根據 equals(java.lang.Object) 中的定義,實作 TabularData 介面的類別的其他實例可能與此 TabularDataSupport 實例相等,但是如果它的計算方法不同,可能會有不同的雜湊碼。

指定者:
介面 Map<Object,Object> 中的 hashCode
指定者:
介面 TabularData 中的 hashCode
覆寫:
類別 Object 中的 hashCode
返回:
TabularDataSupport 實例的雜湊碼值
另請參見:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
返回此 TabularDataSupport 實例的字元串表示形式。

該字元串表示形式由此類別(即 javax.management.openmbean.TabularDataSupport)的名稱、此實例的表格型別的字元串表示形式、內容的字元串表示形式(即列出按照對 dataMap.toString() 的調用所返回的 key=value 映射關係)組成。

指定者:
介面 TabularData 中的 toString
覆寫:
類別 Object 中的 toString
返回:
TabularDataSupport 實例的字元串表示形式

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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