- java.lang.Object
-
- javax.management.openmbean.OpenType<CompositeData>
-
- javax.management.openmbean.CompositeType
-
- All Implemented Interfaces:
-
Serializable
public class CompositeType extends OpenType<CompositeData>
CompositeType
类是开放式类,其实例描述了CompositeData
值的类型。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class javax.management.openmbean.OpenType
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST
-
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
containsKey(String itemName)
如果此CompositeType
实例定义名称为 itemName的项目,则返回true
。boolean
equals(Object obj)
将指定的obj
参数与此CompositeType
实例进行比较以获得相等性。String
getDescription(String itemName)
返回其名称为 itemName,或该项目的描述null
如果CompositeType
实例不定义其名称为 itemName的任何项目。OpenType<?>
getType(String itemName)
返回 开放类型 ,其名称为 itemName,或该项目的null
如果CompositeType
实例不定义其名称为 itemName的任何项目。int
hashCode()
返回此CompositeType
实例的哈希码值。boolean
isValue(Object obj)
测试 obj是否可以由此CompositeType
实例描述的值。Set<String>
keySet()
返回此CompositeType
实例定义的所有项目名称的不可修改的集合视图。String
toString()
返回此CompositeType
实例的字符串表示形式。-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javax.management.openmbean.OpenType
getClassName, getDescription, getTypeName, isArray
-
-
-
-
构造方法详细信息
-
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,应至少包含一个元素; 没有元素可以是空字符串或空字符串。 请注意,给定项目名称的顺序对于将CompositeType
实例与其他实例区CompositeType
并不重要; 内部存储的项目名称以升序字母数字顺序排列。 -
itemDescriptions
- 由该CompositeType
实例描述的复合数据值中包含的项目的描述与itemNames的顺序相同 ; 应该与itemNames大小相同 ; 没有元素可以为null或空字符串。 -
itemTypes
- 与itemNames相同的开放类型实例,描述由该CompositeType
实例描述的复合数据值中包含的项目; 应该与itemNames大小相同 ; 没有元素可以为null。 - 异常
-
IllegalArgumentException
- 如果 typeName或 description是空字符串或空字符串,或 itemNames或 itemDescriptions或 itemTypes为空,或 itemNames或 itemDescriptions的任何元素为空字符串或空字符串,或者 itemTypes的任何元素为null或 itemNames或 itemDescriptions或 itemTypes不一样大小。 -
OpenDataException
- 如果 itemNames包含重复的项目名称(区分大小写,但前导和尾随的白名单已删除)。
-
-
方法详细信息
-
containsKey
public boolean containsKey(String itemName)
如果此CompositeType
实例定义了名称为 itemName的项目,则返回true
。- 参数
-
itemName
- 项目的名称。 - 结果
- 如果该名称的项目存在,则为true。
-
getDescription
public String getDescription(String itemName)
返回其名称为 itemName,或该项目的描述null
如果CompositeType
实例不定义其名称为 itemName的任何项目。- 参数
-
itemName
- 项目的名称。 - 结果
- 说明。
-
getType
public OpenType<?> getType(String itemName)
返回 开放类型 ,其名称为 itemName,或该项目的null
如果CompositeType
实例不定义其名称为 itemName的任何项目。- 参数
-
itemName
- 时间的名称。 - 结果
- 方式。
-
isValue
public boolean isValue(Object obj)
测试obj是否可以由此CompositeType
实例描述的值。如果obj为空或不是
javax.management.openmbean.CompositeData
的实例,则isValue
返回false
。如果obj是
javax.management.openmbean.CompositeData
一个实例,那么ct
是CompositeType
返回的CompositeType 。 如果this
可从ct
分配,则结果为真。 这意味着:-
this.getTypeName()
等于ct.getTypeName()
,和 -
this
中没有项目名称不存在于ct
,而 - 对于
this
每个项目,其类型可以从ct
中的相应项目的类型分配。
A
TabularType
可以从另一个TabularType
分配,如果它们具有相同的typeName和index name list ,并且第一个的row type可以从第二行的行类型分配。一个
ArrayType
可以从另一个ArrayType
分配,如果他们有相同的dimension ; 并且都是primitive arrays或者都不是; 而第一个的element type可以从第二个元素类型中分配。在其他情况下,只有
OpenType
相等,OpenType
可以从另一个OpenType
分配OpenType
。这些规则意味着额外的项目可以添加到
CompositeData
而不会对没有这些项目的CompositeType
无效。- Specified by:
-
isValue
在OpenType<CompositeData>
- 参数
-
obj
- 要与该CompositeType
实例兼容的开放类型的值。 - 结果
-
true
如果 obj是此复合类型的值,false
否则。
-
-
equals
public boolean equals(Object obj)
将指定的obj
参数与此CompositeType
实例进行比较,以实现相等。当且仅当所有以下语句都为真时,两个
CompositeType
实例相等:- 它们的类型名称相等
- 他们的项目的名称和类型是相等的
- Specified by:
-
equals
在OpenType<CompositeData>
- 参数
-
obj
- 要与此CompositeType
实例相等的对象; 如果obj是null
,则equals
返回false
。 - 结果
-
true
如果指定的对象等于此CompositeType
实例。 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回此CompositeType
实例的哈希码值。CompositeType
实例的哈希码是equals
比较中使用的所有信息元素的哈希码的总和(即:名称,项目名称,项目类型)。 这确保了t1.equals(t2)
意味着t1.hashCode()==t2.hashCode()
对于任何两个CompositeType
实例t1
和t2
,所要求的方法的常规合同Object.hashCode()
。由于
CompositeType
实例是不可变的,因此在第一次调用hashCode
,会计算一次此实例的哈希码,然后为后续调用返回相同的值。- Specified by:
-
hashCode
在OpenType<CompositeData>
- 结果
-
这个
CompositeType
实例的哈希码值 - 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
返回此CompositeType
实例的字符串表示形式。字符串表示由此类的名称(即
javax.management.openmbean.CompositeType
),此实例的类型名称以及此实例的项目名称和类型字符串表示形式的列表组成。由于
CompositeType
实例是不可变的,因此在第一次调用toString
,该实例的字符串表示计算一次,然后为后续调用返回相同的值。- Specified by:
-
toString
在OpenType<CompositeData>
- 结果
-
这个
CompositeType
实例的字符串表示形式
-
-