- 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 方法 描述 booleancontainsKey(String itemName)如果此CompositeType实例定义名称为 itemName的项目,则返回true。booleanequals(Object obj)将指定的obj参数与此CompositeType实例进行比较以获得相等性。StringgetDescription(String itemName)返回其名称为 itemName,或该项目的描述null如果CompositeType实例不定义其名称为 itemName的任何项目。OpenType<?>getType(String itemName)返回 开放类型 ,其名称为 itemName,或该项目的null如果CompositeType实例不定义其名称为 itemName的任何项目。inthashCode()返回此CompositeType实例的哈希码值。booleanisValue(Object obj)测试 obj是否可以由此CompositeType实例描述的值。Set<String>keySet()返回此CompositeType实例定义的所有项目名称的不可修改的集合视图。StringtoString()返回此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实例的字符串表示形式
-
-