- 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 方法 描述 boolean
containsKey(String key)
返回true
当且仅当此CompositeData
实例包含名称是项目key
。boolean
containsValue(Object value)
返回true
当且仅当此CompositeData
实例包含其值是一个项目value
。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
实例中包含的项目值的不可修改的集合视图。
-
-
-
构造方法详细信息
-
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
包含密钥,CompositeData
true。
-
containsValue
public boolean containsValue(Object value)
返回true
当且仅当此CompositeData
实例包含值为value
的项目时。- Specified by:
-
containsValue
在接口CompositeData
- 参数
-
value
- 要测试的值。 - 结果
-
如果此
CompositeData
true。
-
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
实例的字符串表示形式
-
-