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

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策