- java.lang.Object
-
- javax.management.openmbean.CompositeDataSupport
-
- All Implemented Interfaces:
-
Serializable,CompositeData
public class CompositeDataSupport extends Object implements CompositeData, Serializable
CompositeDataSupport类是实现CompositeData接口的 开放数据类。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 CompositeDataSupport(CompositeType compositeType, String[] itemNames, Object[] itemValues)构造一个CompositeDataSupport实例与指定compositeType,其项值由指定itemValues[],以相同的顺序为itemNames[]。CompositeDataSupport(CompositeType compositeType, Map<String,?> items)构造具有指定的compositeType的CompositeDataSupport实例,其中项目名称和对应的值由映射items中的映射items。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 booleancontainsKey(String key)返回true当且仅当此CompositeData实例包含名称是项目key。booleancontainsValue(Object value)返回true当且仅当此CompositeData实例包含其值是一个项目value。booleanequals(Object obj)将指定的 obj参数与此CompositeDataSupport实例进行比较以获得相等性。Objectget(String key)返回名称为key的项目的值。Object[]getAll(String[] keys)返回其名称由被指定的项目的值的数组keys,以相同的顺序为keys。CompositeTypegetCompositeType()返回此 复合数据实例的 复合类型 。inthashCode()返回此CompositeDataSupport实例的哈希码值。StringtoString()返回此CompositeDataSupport实例的字符串表示形式。Collection<?>values()返回此CompositeData实例中包含的项目值的不可修改的集合视图。
-
-
-
构造方法详细信息
-
CompositeDataSupport
public CompositeDataSupport(CompositeType compositeType, String[] itemNames, Object[] itemValues) throws OpenDataException
构造一个
CompositeDataSupport实例与指定compositeType,其项值由指定itemValues[],以相同的顺序为itemNames[]。 由于CompositeType在其项目上未指定任何订单,因此itemNames[]参数用于指定itemValues[]中给定值的顺序。 此CompositeDataSupport实例中包含的项目内部存储在TreeMap,因此按其名称的升序字典顺序排序,以更快地检索单个项目值。构造函数检查下面列出的每个参数的所有约束是否满足,如果没有,则抛出适当的异常。
- 参数
-
compositeType- 此复合数据实例的复合类型 ; 不能为空。 -
itemNames-itemNames必须以任何顺序列出compositeType定义的所有项目名称; 列出名称的顺序用于匹配itemValues[]中的值; 不能为null或为空。 -
itemValues-的项目,在以相同的顺序作为各自的名字中列出的值itemNames; 每个项目值可以为null,但是如果它是非空的,则它必须是compositeType为相应项目定义的开放类型的compositeType; 必须与itemNames尺寸相同; 不能为null或为空。 - 异常
-
IllegalArgumentException-compositeType为空,或itemNames[]或itemValues[]是空值或空白,或在元件中的一个itemNames[]是空或空字符串,或itemNames[]和itemValues[]的大小相同的不。 -
OpenDataException-itemNames[]或itemValues[]的大小从所限定的项数不同compositeType,或在元件中的一个itemNames[]不存在如在定义的项名称compositeType,或在元件中的一个itemValues[]不是为一有效的值相应项目如compositeType所定义。
-
CompositeDataSupport
public CompositeDataSupport(CompositeType compositeType, Map<String,?> items) throws OpenDataException
构造具有指定的
compositeType的CompositeDataSupport实例,其中项目名称和对应的值由映射items中的映射items。 此构造函数将键转换为字符串数组,将值转换为对象数组,并调用CompositeDataSupport(javax.management.openmbean.CompositeType, java.lang.String[], java.lang.Object[])。- 参数
-
compositeType- 此复合数据实例的复合类型 ; 不能为空。 -
items- 所有项目名称与其值的映射;items必须包含compositeType定义的所有项目名称; 不能为null或为空。 - 异常
-
IllegalArgumentException-compositeType为空,或items为空或为空,或items中的一个键为空或空字符串。 -
OpenDataException-items的大小与定义的项目数不同compositeType,或在键之一items不存在如在定义的项名称compositeType,或在其中一个值items不是对应的项目作为有效值在compositeType定义。 -
ArrayStoreException-在一个或多个键items是类的不java.lang.String。
-
-
方法详细信息
-
getCompositeType
public CompositeType getCompositeType()
返回此 复合数据实例的 复合类型 。- Specified by:
-
getCompositeType在接口CompositeData - 结果
- 这个CompositeData的类型。
-
get
public Object get(String key)
返回名称为key的项目的值。- Specified by:
-
get在接口CompositeData - 参数
-
key- 项目的名称。 - 结果
- 与该键相关联的值。
- 异常
-
IllegalArgumentException- 如果key是空或空字符串。 -
InvalidKeyException- 如果key不是此CompositeData实例的现有项目名称。
-
getAll
public Object[] getAll(String[] keys)
返回其名称由被指定的项目的值的数组keys,以相同的顺序为keys。- Specified by:
-
getAll在接口CompositeData - 参数
-
keys- 项目的名称。 - 结果
- 与键对应的值。
- 异常
-
IllegalArgumentException-如果在元件keys为空或空字符串。 -
InvalidKeyException-如果一个元素keys不是这个现有项目的名称CompositeData实例。
-
containsKey
public boolean containsKey(String key)
返回true当且仅当此CompositeData实例包含名称是项目key。 如果key为空或空字符串,则此方法只返回false。- Specified by:
-
containsKey在接口CompositeData - 参数
-
key- 要测试的关键。 - 结果
-
如果这个
CompositeData包含密钥,CompositeDatatrue。
-
containsValue
public boolean containsValue(Object value)
返回true当且仅当此CompositeData实例包含值为value的项目时。- Specified by:
-
containsValue在接口CompositeData - 参数
-
value- 要测试的值。 - 结果
-
如果此
CompositeDatatrue。
-
values
public Collection<?> values()
返回此CompositeData实例中包含的项目值的不可修改的集合视图。 返回的集合的迭代器将以相应项目名称的升序字典顺序返回值。- Specified by:
-
values在接口CompositeData - 结果
- 价值。
-
equals
public boolean equals(Object obj)
将指定的obj参数与此CompositeDataSupport实例进行比较以获得相等性。如果且仅当以下所有语句均为真时,则返回
true:- obj是非空,
- obj还实现了
CompositeData接口, - 它们的复合类型是相等的
- 它们的内容,即(名称,值)对相等。 如果内容中包含的值是数组,则可以像对象引用类型的数组一样调用
deepEquals方法或对原始类型数组的适当重载Arrays.equals(e1,e2)完成数值比较
这确保了此
equals方法正常工作对作为不同实现的obj参数CompositeData接口,具有在所提到的限制equals所述的方法java.util.Collection接口。- Specified by:
-
equals在接口CompositeData - 重写:
-
equals在Object - 参数
-
obj- 要与CompositeDataSupport实例相等的对象。 - 结果
-
true如果指定的对象等于此CompositeDataSupport实例。 - 另请参见:
-
Object.hashCode(),HashMap
-
hashCode
public int hashCode()
返回此CompositeDataSupport实例的哈希码值。CompositeDataSupport实例的哈希码是equals比较中使用的所有信息元素(即:其复合类型和所有项目值)的哈希码的总和。这确保
t1.equals(t2)意味着t1.hashCode()==t2.hashCode()对于任何两个CompositeDataSupport实例t1和t2,根据方法Object.hashCode()的一般合同的要求 。每个项目值的哈希码被添加到返回的哈希码。 如果一个项目值是一个数组,那么它的哈希码就像通过调用对象引用类型的数组的
deepHashCode方法或者原始类型数组的适当重载Arrays.hashCode(e)获得。- Specified by:
-
hashCode在接口CompositeData - 重写:
-
hashCode在Object - 结果
-
这个
CompositeDataSupport实例的哈希码值 - 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
toString
public String toString()
返回此CompositeDataSupport实例的字符串表示形式。字符串表示由此类的名称(即
javax.management.openmbean.CompositeDataSupport)组成,该实例的复合类型的字符串表示形式和内容的字符串表示形式(即列出itemName = itemValue映射)。- Specified by:
-
toString在接口CompositeData - 重写:
-
toString在Object - 结果
-
这个
CompositeDataSupport实例的字符串表示形式
-
-