- java.lang.Object
-
- javax.management.openmbean.OpenType<CompositeData>
-
- javax.management.openmbean.CompositeType
-
- 实现的所有接口
-
Serializable
public class CompositeType extends OpenType<CompositeData>
CompositeType
类是开放类型类,其实例描述CompositeData
值的类型。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
字段汇总
-
声明的属性在类 javax.management.openmbean.OpenType
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST
-
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 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
实例定义的所有项名称的不可修改的Set视图。String
toString()
返回此CompositeType
实例的字符串表示形式。-
声明方法的类 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并且应至少包含一个元素; 没有元素可以是null或空字符串。 请注意,给出项目名称的顺序对于区分CompositeType
实例与其他实例并不重要; 项目名称在内部存储,按升序字母数字顺序排序。 -
itemDescriptions
- 此CompositeType
实例描述的复合数据值中包含的项目的描述,与itemNames的顺序相同 ; 应与itemNames的大小相同 ; 没有元素可以为null或空字符串。 -
itemTypes
- 打开类型实例,与itemNames的顺序相同 ,描述此CompositeType
实例描述的复合数据值中包含的项目; 应与itemNames的大小相同 ; 没有元素可以为null。 - 异常
-
IllegalArgumentException
- 如果 typeName或 description为null或空字符串,或 itemNames或 itemDescriptions或 itemTypes为null,或 itemNames或 itemDescriptions的任何元素为null或空字符串,或 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为null或不是
javax.management.openmbean.CompositeData
的实例,则isValue
将返回false
。如果obj是
javax.management.openmbean.CompositeData
的实例,则让ct
成为CompositeType
返回的CompositeType 。 如果this
可从ct
分配,则结果为true。 这意味着:-
this.getTypeName()
等于ct.getTypeName()
,和 - 不存在的项目名称在
this
是不是也存在于ct
,和 - 对于
this
每个项目,其类型可从ct
相应项目的类型分配。
甲
TabularType
是从另一个可分配的TabularType
,如果它们具有相同的typeName和index name list ,并且row type第一个是从该行类型的第二分配。ArrayType
可从另一个ArrayType
分配,如果它们具有相同的dimension ; 两者都是primitive arrays或两者都不是; 第一个的element type可以从第二个元素类型中分配。在所有其他情况下,
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
,此实例的哈希码计算一次,然后为后续调用返回相同的值。- 重写:
-
hashCode
类Object
- 结果
-
此
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
实例的字符串表示形式
-
-