javax.management.openmbean

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

public interface CompositeData

CompositeData 接口指定表示复合数据 结构的复杂开放数据 对象的特定类型的行为。

从以下版本开始:
1.5

方法摘要
 boolean containsKey(String key)
          当且仅当此 CompositeData 实例包含名称为 key 的项时,返回 true
 boolean containsValue(Object value)
          当且仅当此 CompositeData 实例包含值为 value 的项时,返回 true
 boolean equals(Object obj)
          比较指定 obj 参数与此 CompositeData 实例的相等性。
 Object get(String key)
          返回名称为 key 的项的值。
 Object[] getAll(String[] keys)
          返回通过 keys 指定其项名称的值组成的数组,值排列的顺序与 keys 相同。
 CompositeType getCompositeType()
          返回此复合数据 实例的复合类型
 int hashCode()
          返回此 CompositeData 实例的哈希码值。
 String toString()
          返回此 CompositeData 实例的字符串表示形式。
 Collection<?> values()
          返回此 CompositeData 实例中所包含项值的不可修改的 Collection 视图。
 

方法详细信息

getCompositeType

CompositeType getCompositeType()
返回此 复合数据 实例的 复合类型

返回:
此 CompositeData 的类型。

get

Object get(String key)
返回名称为 key 的项的值。

参数:
key - 项的名称。
返回:
与此键关联的值。
抛出:
IllegalArgumentException - 如果 key 为 null 或空字符串。
InvalidKeyException - 如果 key 不是此 CompositeData 实例的现有项的名称。

getAll

Object[] getAll(String[] keys)
返回通过 keys 指定其项名称的值组成的数组,值排列的顺序与 keys 相同。

参数:
key - 项的名称。
返回:
与键对应的值。
抛出:
IllegalArgumentException - 如果 keys 中的元素为 null 或空字符串。
InvalidKeyException - 如果 keys 中的元素不是此 CompositeData 实例的现有项的名称。

containsKey

boolean containsKey(String key)
当且仅当此 CompositeData 实例包含名称为 key 的项时,返回 true。如果 key 为 null 或空字符串,则此方法只返回 false。

参数:
key - 要测试的键。
返回:
如果此 CompositeData 包含该键,则返回 true。

containsValue

boolean containsValue(Object value)
当且仅当此 CompositeData 实例包含值为 value 的项时,返回 true

参数:
value - 要测试的值。
返回:
如果此 CompositeData 包含该值,则返回 true。

values

Collection<?> values()
返回此 CompositeData 实例中所包含项值的不可修改的 Collection 视图。返回集合的迭代器将按相应项名称的升序字典顺序返回值。

返回:
值。

equals

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

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

  • obj 为非 null,
  • obj 还实现 CompositeData 接口
  • 它们的复合类型相等
  • 它们的内容(即(名称,值)对)相等。如果内容中包含的值是一个数组,则对于对象引用类型数组,值比较操作的执行方式类似于调用 deepEquals 方法;对于基本类型数组,则类似于调用恰当的 Arrays.equals(e1,e2) 重载形式。

这确保了此 equals 方法对 obj 参数正常工作,该参数是 CompositeData 接口的不同实现,具有 java.util.Collection 接口的 equals 方法中提到的约束限制。

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

hashCode

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

CompositeData 实例的哈希码是在 equals 比较中使用的所有信息元素的哈希码的总和(即其复合类型 和所有项值)。

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

每项值的哈希码将被添加到返回的哈希码中。如果项值是一个数组,则对于对象引用类型数组,其哈希码的获取方式类似于调用 deepHashCode 方法;对于基本类型数组,则类似于调用恰当的 Arrays.hashCode(e) 重载形式。

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

toString

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

字符串表示形式由实现类的名称、此实例的复合类型的字符串表示形式以及内容的字符串表示形式组成,即列出 itemName=itemValue 映射关系。

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