java.lang.Object javax.management.openmbean.OpenType<CompositeData> javax.management.openmbean.CompositeType
public class CompositeType
CompositeType
类是开放类型 类,它的实例描述了
值的类型。 CompositeData
字段摘要 |
---|
从类 javax.management.openmbean.OpenType 继承的字段 |
---|
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST |
构造方法摘要 | |
---|---|
CompositeType(String typeName, String description, String[] itemNames, String[] itemDescriptions, OpenType<?>[] itemTypes) 构造一个 CompositeType 实例,检查给定参数的有效性。 |
方法摘要 | |
---|---|
boolean |
containsKey(String itemName) 如果此 CompositeType 实例定义了名称为 itemName 的项,则返回 true 。 |
boolean |
equals(Object obj) 比较指定的 obj 参数与此 CompositeType 实例的相等性。 |
String |
getDescription(String itemName) 返回名称是 itemName 的项的描述,如果此 CompositeType 实例未定义任何名称是 itemName 的项,则返回 null 。 |
OpenType<?> |
getType(String itemName) 返回名称是 itemName 的项的开放类型,如果 CompositeType 实例未定义任何名称是 itemName 的项,则返回 null 。 |
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 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
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
- 描述此
CompositeType
实例描述的复合数据值中已包含项的开放类型实例(与
itemNames 的顺序相同);应与
itemNames 的大小相同;任何元素不可以为 null。
IllegalArgumentException
- 如果
typeName 或
description 为 null 或空字符串;如果
itemNames、
itemDescriptions 或
itemTypes 为 null;如果
itemNames 或
itemDescriptions 的任何元素为 null 或空字符串;如果
itemTypes 的任何元素为 null;如果
itemNames、
itemDescriptions 或
itemTypes 的大小不同。
OpenDataException
- 如果
itemNames 包含重复的项名称(区分大小写,但是移除了前导和尾部空格)。
方法详细信息 |
---|
public boolean containsKey(String itemName)
CompositeType
实例定义了名称为
itemName 的项,则返回
true
。
itemName
- 项的名称。
public String getDescription(String itemName)
CompositeType
实例未定义任何名称是
itemName 的项,则返回
null
。
itemName
- 项的名称。
public OpenType<?> getType(String itemName)
CompositeType
实例未定义任何名称是
itemName 的项,则返回
null
。
itemName
- 项的名称。
public Set<String> keySet()
public boolean isValue(Object obj)
CompositeType
实例可以描述的值。
如果 obj 为 null,或者不是 javax.management.openmbean.CompositeData
的实例,则 isValue
返回 false
。
如果 obj 是 javax.management.openmbean.CompositeData
的实例,然后设 ct
为其 CompositeType
(由 CompositeData.getCompositeType()
返回)。那么如果 this
可以通过 ct
进行分配,则结果为 true。可以通过 ct
进行分配的含义是:
this.getTypeName()
等于 ct.getTypeName()
this
中不存在的项名称在 ct
中也不存在 this
中每一项,其类型都可以通过 ct
中的对应项进行分配 如果 typeName 和索引名称列表相同,且前者的行类型可以通过后者的行类型进行分配,则 TabularType
可以通过另一个 TabularType
进行分配。
如果维数相同;都是基本数组或者都不是;前者的元素类型可以通过后者的元素类型进行分配,则 ArrayType
可以通过另一个 ArrayType
进行分配。
在其他情况下,只有两者相等时 OpenType
才可以通过另一个 OpenType
进行分配。
这些规则意味着,可以将额外的项添加到 CompositeData
中,而不会使之对于没有这些项的 CompositeType
无效。
OpenType<CompositeData>
中的
isValue
obj
- 要测试其开放类型与此
CompositeType
的相等性的值。
true
,否则返回
false
。
public boolean equals(Object obj)
obj
参数与此
CompositeType
实例的相等性。
当且仅当以下所有语句为 true 时,两个 CompositeType
实例才相等:
OpenType<CompositeData>
中的
equals
obj
- 与此
CompositeType
实例比较相等性的对象;如果
obj 为
null
,则
equals
返回
false
。
CompositeType
实例,则返回
true
。
Object.hashCode()
,
Hashtable
public int hashCode()
CompositeType
实例的哈希码值。
CompositeType
实例的哈希码是在 equals
比较中使用的所有信息元素的哈希码的总和(即名称、项名称和项类型)。这确保了 t1.equals(t2)
意味着对于任何两个 CompositeType
实例 t1
和 t2
而言,都存在 t21.hashCode()==t2.hashCode()
,这是方法 Object.hashCode()
的通用协定所要求的。
由于 CompositeType
实例是不可变的,此实例的哈希码在首次调用 hashCode
时被计算一次,然后对后续调用返回相同的值。
OpenType<CompositeData>
中的
hashCode
CompositeType
实例的哈希码值
Object.equals(java.lang.Object)
,
Hashtable
public String toString()
CompositeType
实例的字符串表示形式。
字符串表示形式由此类(即 javax.management.openmbean.CompositeType
)的名称、此实例的类型名称和项名称的列表以及此实例的类型字符串表示形式组成。
由于 CompositeType
实例是不可变的,此实例的字符串表示形式在首次调用 toString
时被计算一次,然后对后续调用返回相同的值。
OpenType<CompositeData>
中的
toString
CompositeType
实例的字符串表示形式