- 所有已实现的接口:
Serializable
,CompositeData
CompositeDataSupport
类是开放数据实现CompositeData
接口的类。
- 自从:
- 1.5
- 参见:
-
构造方法总结
构造方法构造方法描述CompositeDataSupport
(CompositeType compositeType, String[] itemNames, Object[] itemValues) 构造一个具有指定compositeType
的CompositeDataSupport
实例,其项目值由itemValues[]
指定,顺序与itemNames[]
相同。CompositeDataSupport
(CompositeType compositeType, Map<String, ?> items) 使用指定的compositeType
构造一个CompositeDataSupport
实例,其项目名称和对应值由映射items
中的映射给出。 -
方法总结
修饰符和类型方法描述boolean
containsKey
(String key) 当且仅当此CompositeData
实例包含名称为key
的项时,返回true
。boolean
containsValue
(Object value) 当且仅当此CompositeData
实例包含值为value
的项时,才返回true
。boolean
比较指定的对象参数与此CompositeDataSupport
实例相等。返回名称为key
的项目的值。Object[]
返回名称由keys
指定的项目值的数组,顺序与keys
相同。返回复合类型这个的复合数据实例。int
hashCode()
返回此CompositeDataSupport
实例的哈希码值。toString()
返回此CompositeDataSupport
实例的字符串表示形式。Collection<?>
values()
返回此CompositeData
实例中包含的项目值的不可修改的集合视图。
-
构造方法详细信息
-
CompositeDataSupport
public CompositeDataSupport(CompositeType compositeType, String [] itemNames, Object [] itemValues) throws OpenDataException 构造一个具有指定
compositeType
的CompositeDataSupport
实例,其项目值由itemValues[]
指定,顺序与itemNames[]
相同。由于CompositeType
未指定其项目的任何顺序,itemNames[]
参数用于指定值在itemValues[]
中给出的顺序。此CompositeDataSupport
实例中包含的项目在内部存储在TreeMap
中,因此按其名称的升序字典顺序排序,以便更快地检索单个项目值。构造方法检查是否满足下面列出的每个参数的所有约束,如果不满足,则抛出适当的异常。
- 参数:
compositeType
- 的复合类型这个的复合数据实例;不得为空。itemNames
-itemNames
必须以任何顺序列出compositeType
中定义的所有项目名称;列出名称的顺序用于匹配itemValues[]
中的值;不得为 null 或空。itemValues
- 项目的值,按照它们在itemNames
中各自名称的相同顺序列出;每个项目值都可以为空,但如果它不为空,则它必须是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
中的映射给出。此构造函数将键转换为字符串数组,将值转换为对象数组并调用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
返回复合类型这个的复合数据实例。- 指定者:
getCompositeType
在接口CompositeData
中- 返回:
- 此 CompositeData 的类型。
-
get
返回名称为key
的项目的值。- 指定者:
get
在接口CompositeData
中- 参数:
key
- 项目名称。- 返回:
- 与此键关联的值。
- 抛出:
IllegalArgumentException
- 如果key
为 null 或空字符串。InvalidKeyException
- 如果key
不是此CompositeData
实例的现有项目名称。
-
getAll
返回名称由keys
指定的项目值的数组,顺序与keys
相同。- 指定者:
getAll
在接口CompositeData
中- 参数:
keys
- 物品的名称。- 返回:
- 键对应的值。
- 抛出:
IllegalArgumentException
- 如果keys
中的元素为 null 或空字符串。InvalidKeyException
- 如果keys
中的元素不是此CompositeData
实例的现有项目名称。
-
containsKey
当且仅当此CompositeData
实例包含名称为key
的项时,返回true
。如果key
是 null 或空字符串,则此方法仅返回 false。- 指定者:
containsKey
在接口CompositeData
中- 参数:
key
- 要测试的密钥。- 返回:
-
如果此
CompositeData
包含密钥,则为真。
-
containsValue
当且仅当此CompositeData
实例包含值为value
的项时,才返回true
。- 指定者:
containsValue
在接口CompositeData
中- 参数:
value
- 要测试的值。- 返回:
-
如果此
CompositeData
包含该值,则为真。
-
values
返回此CompositeData
实例中包含的项目值的不可修改的集合视图。返回的集合的迭代器将按照相应项名称的升序字典顺序返回值。- 指定者:
values
在接口CompositeData
中- 返回:
- 值。
-
equals
比较指定的对象参数与此CompositeDataSupport
实例相等。当且仅当以下所有陈述都为真时,返回
true
:- 对象非空,
- 对象还实现了
CompositeData
接口, - 它们的复合类型相等
- 它们的内容,即(名称,值)对是相等的。如果内容中包含的值是一个数组,则值比较就像通过为对象引用类型的数组调用
deepEquals
方法或为基本类型的数组调用Arrays.equals(e1,e2)
的适当重载来完成
这可确保此
equals
方法适用于对象参数是CompositeData
接口的不同实现,具有java.util.Collection
接口的equals
方法中提到的限制。- 指定者:
equals
在接口CompositeData
中- 重写:
equals
在类Object
中- 参数:
obj
- 要与此CompositeDataSupport
实例进行相等比较的对象。- 返回:
true
如果指定对象等于此CompositeDataSupport
实例。- 参见:
-
hashCode
public int hashCode()返回此CompositeDataSupport
实例的哈希码值。CompositeDataSupport
实例的哈希码是equals
比较中使用的所有信息元素的哈希码的总和(即:它的复合类型和所有项目值)。这确保
t1.equals(t2)
暗示t1.hashCode()==t2.hashCode()
对于任何两个CompositeDataSupport
实例t1
和t2
,正如方法Object.hashCode()
的一般契约所要求的那样。每个项目值的散列码都添加到返回的散列码中。如果项目值是一个数组,则其哈希码就像通过为对象引用类型的数组调用
deepHashCode
方法或为基本类型的数组适当重载Arrays.hashCode(e)
来获得一样。- 指定者:
hashCode
在接口CompositeData
中- 重写:
hashCode
在类Object
中- 返回:
-
此
CompositeDataSupport
实例的哈希码值 - 参见:
-
toString
返回此CompositeDataSupport
实例的字符串表示形式。字符串表示包含此类的名称(即
javax.management.openmbean.CompositeDataSupport
)、此实例的复合类型的字符串表示以及内容的字符串表示(即列出 itemName=itemValue 映射)。- 指定者:
toString
在接口CompositeData
中- 重写:
toString
在类Object
中- 返回:
-
此
CompositeDataSupport
实例的字符串表示形式
-