public class CompositeDataSupport extends Object implements CompositeData, Serializable
Constructor and Description |
---|
CompositeDataSupport(CompositeType compositeType, Map<String,?> items)
构造一个
CompositeDataSupport实例与指定的
compositeType,其项名称和对应值在地图
items被映射给出。
|
CompositeDataSupport(CompositeType compositeType, String[] itemNames, Object[] itemValues)
构造一个
CompositeDataSupport实例与指定的
compositeType,其项值由
itemValues[]指定,以相同的顺序为
itemNames[]。
|
Modifier and Type | Method and Description |
---|---|
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实例中包含的项目值的不可修改的集合视图。
|
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以相同的顺序作为各自的名字中列出的值;
每个项目值可以为空,但如果为非空值,则它必须是相应项目compositeType中定义的打开类型的有效值;
必须与itemNames大小相同;
不能为null或为空。
IllegalArgumentException
-
compositeType为空,或
itemNames[]或
itemValues[]为空或为空,或
itemNames[]中的一个元素为空或空字符串,或
itemNames[]和
itemValues[]不具有相同的大小。
OpenDataException
-
itemNames[]或
itemValues[]的大小从在
compositeType,或
itemNames[]的元素之一定义的项目的数量的不同不存在作为在
compositeType,或
itemValues[]的元素之一定义的项名称不是为有效的值compositeType中定义的
相应项目。
public CompositeDataSupport(CompositeType compositeType, Map<String,?> items) throws OpenDataException
构造一个CompositeDataSupport实例与指定的compositeType,其项名称和对应值在地图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的不是。
public CompositeType getCompositeType()
getCompositeType
在接口
CompositeData
public Object get(String key)
get
在界面
CompositeData
key
- 项目的名称。
IllegalArgumentException
- 如果
key是空字符串或空字符串。
InvalidKeyException
- 如果
key不是此
CompositeData实例的现有项目名称。
public Object[] getAll(String[] keys)
getAll
在界面
CompositeData
keys
- 项目的名称。
IllegalArgumentException
- 如果
keys中的元素为空或空字符串。
InvalidKeyException
- 如果
keys中的元素不是此
CompositeData实例的现有项目名称。
public boolean containsKey(String key)
containsKey
在界面
CompositeData
key
- 要测试的关键。
public boolean containsValue(Object value)
containsValue
在接口
CompositeData
value
- 要测试的值。
public Collection<?> values()
values
在接口
CompositeData
public boolean equals(Object obj)
CompositeDataSupport
实例进行比较以获得相等性。
返回true当且仅当以下所有语句都为真时:
CompositeData
接口, deepEquals
方法对象引用类型的阵列或的适当重载Arrays.equals(e1,e2)
对于基本类型的阵列 这确保了此equals方法正常工作对作为不同实现的obj参数CompositeData
接口,具有在所提到的限制equals
的java.util.Collection接口的方法。
equals
在接口
CompositeData
equals
在
Object
obj
- 要与此
CompositeDataSupport
实例相等的对象。
true
如果指定的对象等于这个
CompositeDataSupport
实例。
Object.hashCode()
, HashMap
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
实例的哈希码值
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
CompositeDataSupport
实例的字符串表示形式。
字符串表示由此类的名称(即javax.management.openmbean.CompositeDataSupport
)组成,此实例的复合类型的字符串表示形式和内容的字符串表示形式(即列出itemName = itemValue映射)。
toString
在接口
CompositeData
toString
在
Object
CompositeDataSupport
实例的字符串表示形式