javax.management.openmbean

接口
异常
java.lang.Object
  继承者 javax.management.openmbean.CompositeDataSupport
所有已实现的接口:
Serializable, CompositeData

public class CompositeDataSupport
     
extends Object
implements CompositeData, Serializable

CompositeDataSupport 类是实现 CompositeData 接口的开放数据 类。

从以下版本开始:
1.5
另请参见:
序列化表格

构造方法摘要
CompositeDataSupport(CompositeType compositeType, Map<String,?> items)
           使用指定的 compositeType(其项名称和对应值由 items 映射中的映射关系给出)构造一个 CompositeDataSupport 实例。
CompositeDataSupport(CompositeType compositeType, String[] itemNames, Object[] itemValues)
           使用指定的 compositeType(其项值由 itemValues[] 按照与 itemNames[] 中相同的顺序指定)构造一个 CompositeDataSupport 实例。
 
方法摘要
 boolean containsKey(String key)
          当且仅当此 CompositeData 实例包含名称是 key 的项时,才返回 true
 boolean containsValue(Object value)
          当且仅当此 CompositeData 实例包含其值是 value 的项时,返回 true
 boolean equals(Object obj)
          比较指定的 obj 参数与此 CompositeDataSupport 实例的相等性。
 Object get(String key)
          返回其名称是 key 的项的值。
 Object[] getAll(String[] keys)
          返回由 keys 指定其项名称的值的数组,顺序与 keys 相同。
 CompositeType getCompositeType()
          返回此复合数据 实例的复合类型
 int hashCode()
          返回此 CompositeDataSupport 实例的哈希码值。
 String toString()
          返回此 CompositeDataSupport 实例的字符串表示形式。
 Collection<?> values()
          返回此 CompositeData 实例中包含的项值的不可修改的 Collection 视图。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

CompositeDataSupport

public CompositeDataSupport(CompositeType compositeType,
                            String[] itemNames,
                            Object[] itemValues)
                     throws OpenDataException

使用指定的 compositeType(其项值由 itemValues[] 按照与 itemNames[] 中相同的顺序指定)构造一个 CompositeDataSupport 实例。由于 CompositeType 未对其项指定任何顺序,所以使用 itemNames[] 参数指定在 itemValues[] 中给出的值的顺序。此 CompositeDataSupport 实例中包含的项内部存储在 TreeMap 中,并且按它们名称的升序字典顺序进行存储,以便于对各个项值进行较快速的检索。

构造方法检查是否满足下面为每个参数列出的所有约束条件,如果无法满足,则抛出适当的异常。

参数:
compositeType - 此 复合数据 实例的 复合类型;不可以为 null。

itemNames - itemNames 必须以任一顺序列出在 compositeType 中定义的所有项名称;使用列出名称的顺序来匹配 itemValues[] 中的值;不可以为 null 或空。

itemValues - 按与 itemNames 中它们各自名称相同的顺序列出的项的值;每个项值可以为 null,但是,如果为非 null,则它必须是在 compositeType 中为对应的项定义的开放类型的有效值;大小必须与 itemNames 相同;不可以为 null 或空。

抛出:
IllegalArgumentException - compositeType 为 null,或者 itemNames[]itemValues[] 为 null 或空,或者 itemNames[] 中的元素之一为 null 或空字符串,或者 itemNames[]itemValues[] 的大小不相同。

OpenDataException - itemNames[]itemValues[] 的大小与 compositeType 中定义的项数不同,或者 itemNames[] 中的元素之一不作为在 compositeType 中定义的项名称存在,或者 itemValues[] 中的元素之一不是 compositeType 中定义的相应项的有效值。


CompositeDataSupport

public CompositeDataSupport(CompositeType compositeType,
                            Map<String,?> items)
                     throws OpenDataException

使用指定的 compositeType(其项名称和对应值由 items 映射中的映射关系给出)构造一个 CompositeDataSupport 实例。此构造方法将键转换为一个字符串数组,将值转换为一个对象数组,并调用 CompositeDataSupport(javax.management.openmbean.CompositeType, java.lang.String[], java.lang.Object[])

参数:
compositeType - 此 复合数据 实例的 复合类型;不可以为 null。

items - 所有项名称到它们的值的映射; items 必须包含 compositeType 中定义的所有项名称;不可以为 null 或空。

抛出:
IllegalArgumentException - compositeType 为 null,或者 items 为 null 或空,或者 items 中的键之一为 null 或空字符串,或者 items 中的值之一为 null。

OpenDataException - items 的大小与 compositeType 中定义的项数不同,或者 items 中的键之一不作为 compositeType 中定义的项名称存在,或者 items 中的值之一不是 compositeType 中定义的相应项的有效值。

ArrayStoreException - items 中的一个或多个键不是 java.lang.String 类。

方法详细信息

getCompositeType

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

指定者:
接口 CompositeData 中的 getCompositeType
返回:
此 CompositeData 的类型。

get

public Object get(String key)
返回其名称是 key 的项的值。

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

getAll

public Object[] getAll(String[] keys)
返回由 keys 指定其项名称的值的数组,顺序与 keys 相同。

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

containsKey

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

指定者:
接口 CompositeData 中的 containsKey
参数:
key - 要测试的键。
返回:
如果此 CompositeData 包含该键,则返回 true。

containsValue

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

指定者:
接口 CompositeData 中的 containsValue
参数:
value - 要测试的值。
返回:
如果此 CompositeData 包含该值,则返回 true。

values

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

指定者:
接口 CompositeData 中的 values
返回:
值。

equals

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

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

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

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

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

hashCode

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

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

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

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

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

toString

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

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

指定者:
接口 CompositeData 中的 toString
覆盖:
Object 中的 toString
返回:
CompositeDataSupport 实例的字符串表示形式