- 所有已实现的接口:
-
Serializable
CompositeType
类是描述CompositeData
值类型的开放类型类的实例。
- 自从:
- 1.5
- 参见:
-
Field Summary
Fields declared in class javax.management.openmbean.OpenType
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
containsKey
(String itemName) 如果此CompositeType
实例定义了一个名称为itemName的项,则返回true
。boolean
将指定的obj
参数与此CompositeType
实例进行比较,以确定它们是否相等。getDescription
(String itemName) 返回名称为itemName的项的描述,如果此CompositeType
实例未定义名称为itemName的任何项,则返回null
。OpenType
<?> 返回名称为itemName的项的开放类型,如果此CompositeType
实例未定义名称为itemName的任何项,则返回null
。int
hashCode()
返回此CompositeType
实例的哈希码值。boolean
测试obj是否是可以由此CompositeType
实例描述的值。keySet()
返回此CompositeType
实例定义的所有项名称的不可修改视图。toString()
返回此CompositeType
实例的字符串表示形式。Methods declared in class javax.management.openmbean.OpenType
getClassName, getDescription, getTypeName, isArray
-
Constructor Details
-
CompositeType
public CompositeType(String typeName, String description, String[] itemNames, String[] itemDescriptions, OpenType<?>[] itemTypes) throws OpenDataException 构造一个CompositeType
实例,检查给定参数的有效性。下面描述了每个参数的有效性约束。请注意,三个数组参数itemNames、itemDescriptions和itemTypes的内容会被内部复制,因此调用此构造函数后对这些数组的任何后续修改都不会影响构造的
CompositeType
实例。此复合类型表示的复合数据值的Java类名(即由
getClassName
方法返回的类名)设置为CompositeData.class.getName()
返回的字符串值。- 参数:
-
typeName
- 此实例表示的复合类型的名称;不能为null或空字符串。 -
description
- 此实例表示的复合类型的人类可读描述;不能为null或空字符串。 -
itemNames
- 此CompositeType
实例描述的复合数据值中包含的项的名称;不能为null,应至少包含一个元素;没有元素可以是null或空字符串。请注意,给出项名称的顺序对于区分一个CompositeType
实例与另一个CompositeType
实例并不重要;项名称在内部以升序字母数字顺序排序存储。 -
itemDescriptions
- 与itemNames的顺序相同,描述此CompositeType
实例描述的复合数据值中包含的项;应与itemNames的大小相同;没有元素可以是null或空字符串。 -
itemTypes
- 与itemNames的顺序相同,描述此CompositeType
实例描述的复合数据值中包含的项的开放类型实例;应与itemNames的大小相同;没有元素可以是null。 - 抛出:
-
IllegalArgumentException
- 如果typeName或description为null或空字符串,或itemNames或itemDescriptions或itemTypes为null,或itemNames或itemDescriptions或itemTypes的任何元素为null或空字符串,或itemNames或itemDescriptions或itemTypes的大小不同。 -
OpenDataException
- 如果itemNames包含重复的项名称(区分大小写,但前导和尾随空格已移除)。
-
-
Method Details
-
containsKey
如果此CompositeType
实例定义了一个名称为itemName的项,则返回true
。- 参数:
-
itemName
- 项的名称。 - 返回:
- 如果存在此名称的项,则返回true。
-
getDescription
返回名称为itemName的项的描述,如果此CompositeType
实例未定义名称为itemName的任何项,则返回null
。- 参数:
-
itemName
- 项的名称。 - 返回:
- 描述。
-
getType
返回名称为itemName的项的开放类型,如果此CompositeType
实例未定义名称为itemName的任何项,则返回null
。- 参数:
-
itemName
- 时间的名称。 - 返回:
- 类型。
-
keySet
返回此CompositeType
实例定义的所有项名称的不可修改Set视图。该集合的迭代器将按升序返回项名称。 -
isValue
测试obj是否是可以由此CompositeType
实例描述的值。如果obj为null或不是
javax.management.openmbean.CompositeData
的实例,则isValue
返回false
。如果obj是
javax.management.openmbean.CompositeData
的实例,则让ct
为其由CompositeData.getCompositeType()
返回的CompositeType
。如果this
可以从ct
中分配,则结果为true。这意味着:this.getTypeName()
等于ct.getTypeName()
,并且this
中不存在ct
中也不存在的项名称,且- 对于
this
中的每个项,其类型可以从ct
中相应项的类型中分配。
如果一个
TabularType
可以从另一个TabularType
中分配,那么它们具有相同的typeName和索引名称列表,并且第一个的行类型可以从第二个的行类型中分配。如果一个
ArrayType
可以从另一个ArrayType
中分配,那么它们具有相同的维度;并且两者都是原始数组或都不是;第一个的元素类型可以从第二个的元素类型中分配。在其他所有情况下,只有当两个
OpenType
相等时,一个OpenType
才可以从另一个OpenType
中分配。这些规则意味着可以向
CompositeData
添加额外的项,而不会使其对于没有这些项的CompositeType
无效。- 指定者:
-
isValue
在类OpenType<CompositeData>
- 参数:
-
obj
- 要测试其与此CompositeType
实例的兼容性的值。 - 返回:
-
如果obj是此复合类型的值,则返回
true
,否则返回false
。
-
equals
将指定的obj
参数与此CompositeType
实例进行比较,以确定它们是否相等。仅当以下所有语句都为真时,两个
CompositeType
实例才相等:- 它们的类型名称相等
- 它们的项名称和类型相等
- 指定者:
-
equals
在类OpenType<CompositeData>
- 参数:
-
obj
- 要与此CompositeType
实例进行相等比较的对象;如果obj为null
,则equals
返回false
。 - 返回:
-
如果指定的对象等于此
CompositeType
实例,则返回true
。 - 参见:
-
hashCode
public int hashCode()返回此CompositeType
实例的哈希码值。CompositeType
实例的哈希码是用于equals
比较的所有信息元素的哈希码之和(即:名称、项名称、项类型)。这确保了对于任何两个CompositeType
实例t1
和t2
,如果t1.equals(t2)
,则t1.hashCode()==t2.hashCode()
,这是Object.hashCode()
方法的一般契约所要求的。由于
CompositeType
实例是不可变的,因此此实例的哈希码在第一次调用hashCode
时计算,然后对于后续调用返回相同的值。 -
toString
返回此CompositeType
实例的字符串表示形式。字符串表示形式包括此类的名称(即
javax.management.openmbean.CompositeType
)、此实例的类型名称以及此实例的项目名称和类型字符串表示形式的列表。由于
CompositeType
实例是不可变的,因此此实例的字符串表示形式在第一次调用toString
时计算一次,然后对后续调用返回相同的值。- 指定者:
-
toString
在类OpenType<CompositeData>
- 返回:
-
此
CompositeType
实例的字符串表示形式
-