java.lang.Object javax.management.openmbean.CompositeDataSupport
public class CompositeDataSupport
CompositeDataSupport 类是实现 CompositeData 接口的开放数据 类。
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
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 中定义的相应项的有效值。
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 类。
方法详细信息 |
---|
public CompositeType getCompositeType()
CompositeData
中的
getCompositeType
public Object get(String key)
CompositeData
中的
get
key
- 项的名称。
IllegalArgumentException
- 如果
key 为 null 或空字符串。
InvalidKeyException
- 如果
key 不是此
CompositeData 实例的现有项名称。
public Object[] getAll(String[] keys)
CompositeData
中的
getAll
IllegalArgumentException
- 如果
keys 中的元素为 null 或空字符串。
InvalidKeyException
- 如果
keys 中的元素不是此
CompositeData 实例的现有项名称。
public boolean containsKey(String key)
CompositeData
中的
containsKey
key
- 要测试的键。
public boolean containsValue(Object value)
CompositeData
中的
containsValue
value
- 要测试的值。
public Collection<?> values()
CompositeData
中的
values
public boolean equals(Object obj)
CompositeDataSupport
实例的相等性。
当且仅当下面的所有语句均为 true 时,才返回 true:
CompositeData
接口,deepEquals
方法;对于基本类型数组,则类似于调用恰当的 Arrays.equals(e1,e2)
重载形式。 这确保了此 equals 方法对 obj 参数正常工作,该参数是 CompositeData
接口(具有 java.util.Collection 接口的 equals
方法中提到的限制)的不同实现。
CompositeData
中的
equals
Object
中的
equals
obj
- 与此
CompositeDataSupport
实例进行相等性比较的对象;
CompositeDataSupport
实例,则返回
true
。
Object.hashCode()
,
Hashtable
public int hashCode()
CompositeDataSupport
实例的哈希码值。
CompositeDataSupport
实例的哈希码是在 equals
比较中使用的所有信息元素的哈希码的总和(即其复合类型 和所有项值)。
这确保了 t1.equals(t2)
意味着对于任何两个 CompositeDataSupport
实例 t1
和 t2
而言,都存在 t1.hashCode()==t2.hashCode()
,这是方法 Object.hashCode()
的通用协定所要求的。
每项值的哈希码将被添加到返回的哈希码中。如果项值是一个数组,则对于对象引用类型数组,其哈希码的获取方式类似于调用 deepHashCode
方法;对于基本类型数组,则类似于调用恰当的 Arrays.hashCode(e)
重载形式。
CompositeData
中的
hashCode
Object
中的
hashCode
CompositeDataSupport
实例的哈希码值
Object.equals(java.lang.Object)
,
Hashtable
public String toString()
CompositeDataSupport
实例的字符串表示形式。
字符串表示形式由此类(即javax.management.openmbean.CompositeDataSupport
)的名称、此实例的复合类型的字符串表示形式以及内容(即列出 itemName=itemValue 映射关系)的字符串表示形式组成。
CompositeData
中的
toString
Object
中的
toString
CompositeDataSupport
实例的字符串表示形式