javax.management.openmbean

接口
异常
所有已知实现类:
TabularDataSupport

public interface TabularData

TabularData 接口指定特定类型的复杂开放数据 对象的行为,该对象表示了表格数据 结构。

从以下版本开始:
1.5

方法摘要
 Object[] calculateIndex(CompositeData value)
          计算将在此 TabularData 实例中使用的索引,以便在指定的复合数据 value 参数添加到此实例中后引用该参数。
 void clear()
          从此 TabularData 实例中移除所有 CompositeData 值(即各行)。
 boolean containsKey(Object[] key)
          当且仅当此 TabularData 实例包含其索引为指定 keyCompositeData 值(即行)时,才返回 true
 boolean containsValue(CompositeData value)
          当且仅当此 TabularData 实例包含指定的 CompositeData 值时才返回 true
 boolean equals(Object obj)
          比较指定的 obj 参数与此 TabularData 实例的相等性。
 CompositeData get(Object[] key)
          返回此 TabularData 实例中其索引为 keyCompositeData 值,如果没有映射到 key 的值,则返回 null
 TabularType getTabularType()
          返回描述此 TabularData 实例的表格类型
 int hashCode()
          返回此 TabularData 实例的哈希码值。
 boolean isEmpty()
          如果此 TabularData 实例中包含的 CompositeData 值的数目(即行数)为零,则返回 true
 Set<?> keySet()
          返回此 TabularData 实例中包含的 CompositeData 值(即各行)的键(即索引值)的 set 视图。
 void put(CompositeData value)
          将 value 添加到此 TabularData 实例。
 void putAll(CompositeData[] values)
          将 values 中的所有元素添加到此 TabularData 实例。
 CompositeData remove(Object[] key)
          从此 TabularData 实例中移除其索引为 keyCompositeData 值,并返回被移除的值,如果不存在索引为 key 的值,则返回 null
 int size()
          返回此 TabularData 实例中包含的 CompositeData 值的数目(即行数)。
 String toString()
          返回此 TabularData 实例的字符串表示形式。
 Collection<?> values()
          返回此 TabularData 实例中包含的 CompositeData 值(即各行)的 collection 视图。
 

方法详细信息

getTabularType

TabularType getTabularType()
返回描述此 TabularData 实例的 表格类型

返回:
表格类型。

calculateIndex

Object[] calculateIndex(CompositeData value)
计算将在此 TabularData 实例中使用的索引,以便在指定的复合数据 value 参数添加到此实例中后引用该参数。此方法检查指定 value 的类型有效性,但不检查计算的索引是否已用于引用此 TabularData 实例中的值。

参数:
value - 要计算其在此 TabularData 实例中索引的复合数据值;必须是与此实例的行类型相同的复合类型;而且不可以为 null。
返回:
TabularData 实例中指定的 value 将具有的索引。
抛出:
NullPointerException - 如果 valuenull
InvalidOpenTypeException - 如果 value 不符合此 TabularData 实例的行类型定义。

size

int size()
返回此 TabularData 实例中包含的 CompositeData 值的数目(即行数)。

返回:
包含的值的数目。

isEmpty

boolean isEmpty()
如果此 TabularData 实例中包含的 CompositeData 值的数目(即行数)为零,则返回 true

返回:
如果此 TabularData 为空,则返回 true。

containsKey

boolean containsKey(Object[] key)
当且仅当此 TabularData 实例包含其索引为指定 keyCompositeData 值(即行)时,才返回 true。如果 keynull 或者不符合此 TabularData 实例的 TabularType 定义,则此方法仅返回 false

参数:
key - 将测试其是否存在于此 TabularData 实例中的索引值。
返回:
如果此 TabularData 使用指定的键来索引一个行值,则返回 true

containsValue

boolean containsValue(CompositeData value)
当且仅当此 TabularData 实例包含指定的 CompositeData 值时才返回 true。如果 valuenull 或者不符合此 TabularData 实例的行类型定义,则此方法仅返回 false

参数:
value - 将测试其在此 TabularData 实例中的存在性的行值。
返回:
如果此 TabularData 实例包含指定的行值,则返回 true

get

CompositeData get(Object[] key)
返回此 TabularData 实例中其索引为 keyCompositeData 值,如果没有映射到 key 的值,则返回 null

参数:
key - 要返回的行的键。
返回:
key 对应的值。
抛出:
NullPointerException - 如果 keynull
InvalidKeyException - 如果 key 不符合此 TabularData 实例的 * TabularType 定义

put

void put(CompositeData value)
value 添加到此 TabularData 实例。 value 的复合类型必须与此实例的行类型(即 this.getTabularType().getRowType() 返回的复合类型)相同,并且此 TabularData 实例中现有值的索引不能与要添加的 value 计算的索引相同。 value 的索引是根据此 TabularData 实例的 TabularType 定义计算的(请参见 TabularType.getIndexNames())。

参数:
value - 要作为新行添加到此 TabularData 实例中的复合数据值;必须是与此实例的行类型相同的复合类型;并且不可以为 null。
抛出:
NullPointerException - 如果 valuenull
InvalidOpenTypeException - 如果 value 不符合此 TabularData 实例的行类型定义。
KeyAlreadyExistsException - 如果根据此 TabularData 实例的 TabularType 定义计算的 value 的索引已经映射到基础 HashMap 中现有的值。

remove

CompositeData remove(Object[] key)
从此 TabularData 实例中移除其索引为 keyCompositeData 值,并返回被移除的值,如果不存在索引为 key 的值,则返回 null

参数:
key - 要获取的此 TabularData 实例中值的索引;必须对此 TabularData 实例的行类型定义有效;并且不可以为 null。
返回:
以前与指定键相关联的值,如果没有该键的映射关系,则返回 null
抛出:
NullPointerException - 如果 keynull
InvalidKeyException - 如果 key 不符合此 TabularData 实例的 TabularType 定义

putAll

void putAll(CompositeData[] values)
values 中的所有元素添加到此 TabularData 实例。如果根据此 TabularData 实例的 TabularType 定义计算的 values 中的任何元素都不满足 put 中定义的约束,或者 values 中的任何两个元素具有相同的索引,则抛出一个描述失败的异常,并且不添加 values 的任何元素,因此,此 TabularData 实例保持不变。

参数:
values - 作为新行添加到此 TabularData 实例的复合数据值的数组;如果 valuesnull 或者为空,则此方法直接返回且不执行任何操作。
抛出:
NullPointerException - 如果 values 的一个元素为 null
InvalidOpenTypeException - 如果 values 的某个元素不符合此 TabularData 实例的行类型定义
KeyAlreadyExistsException - 如果根据此 TabularData 实例的 TabularType 定义计算的 values 的某个元素的索引已经映射到此实例中现有的值,或者 values 的两个元素具有相同的索引。

clear

void clear()
从此 TabularData 实例中移除所有 CompositeData 值(即各行)。


keySet

Set<?> keySet()
返回此 TabularData 实例中包含的 CompositeData 值(即各行)的键(即索引值)的 set 视图。返回的 Set 是一个 Set<List<?>>,但出于兼容性原因被声明为 Set<?>。然后可以使用返回的 Set 对键进行迭代。

返回:
TabularData 实例中使用的索引值的 set 视图 ( Set<List<?>>)。

values

Collection<?> values()
返回此 TabularData 实例中包含的 CompositeData 值(即各行)的 collection 视图。返回的 Collection 是一个 Collection<CompositeData><?>>,但出于兼容性原因被声明为 Collection<?>。然后可以使用返回的 collection 对值进行迭代。

返回:
TabularData 实例中包含的行的 collection 视图 ( Collection<CompositeData>)。

equals

boolean equals(Object obj)
比较指定的 obj 参数与此 TabularData 实例的相等性。

当且仅当下面的所有语句均为 true 时,才返回 true

  • obj 为非 null
  • obj 还实现 TabularData 接口
  • 它们的行类型相同
  • 它们的内容(即值映射的索引)相等
这确保了此 equals 方法对作为 TabularData 接口的不同实现的 obj 参数正常工作。
 

覆盖:
Object 中的 equals
参数:
obj - 与此 TabularData 实例进行相等性比较的对象。
返回:
如果指定的对象等于此 TabularData 实例,则返回 true
另请参见:
Object.hashCode(), Hashtable

hashCode

int hashCode()
返回此 TabularData 实例的哈希码值。

TabularData 实例的哈希码是在 equals 比较中使用的信息的所有元素的哈希码总和(即其表格类型 及其内容,其中内容被定义为值映射的所有索引)。

这确保 t1.equals(t2) 意味着对于任何两个 TabularDataSupport 实例 t1t2 而言,都存在 t1.hashCode()==t2.hashCode(),这是方法 Object.hashCode() 的通用协定所要求的。

覆盖:
Object 中的 hashCode
返回:
TabularDataSupport 实例的哈希码值
另请参见:
Object.equals(java.lang.Object), Hashtable

toString

String toString()
返回此 TabularData 实例的字符串表示形式。

该字符串表示形式由实现类的名称和此实例的表格类型组成。

覆盖:
Object 中的 toString
返回:
TabularData 实例的字符串表示形式