- java.lang.Object
-
- javax.management.openmbean.OpenType<T>
-
- 参数类型
-
T
- 此类型描述的实例必须具有的Java类型。 例如,SimpleType.INTEGER
是SimpleType<Integer>
这是一个子类OpenType<Integer>
,这意味着一个属性,参数或返回被描述为一个值SimpleType.INTEGER
必须具有Java类型Integer
。
- All Implemented Interfaces:
-
Serializable
- 已知直接子类:
-
ArrayType
,CompositeType
,SimpleType
,TabularType
public abstract class OpenType<T> extends Object implements Serializable
OpenType
类是描述开放数据值的实际开放类型的所有类的父抽象类。开放类型由以下定义:
- 该类型描述的开放数据值的完全限定的Java类名称; 请注意,只有一组有限的Java类才允许开放数据值(见
ALLOWED_CLASSNAMES_LIST
), - 其名称,
- 其描述。
- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static String[]
ALLOWED_CLASSNAMES
已过时。static List<String>
ALLOWED_CLASSNAMES_LIST
列出允许开放数据值的Java类的完全限定名称。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 abstract boolean
equals(Object obj)
将指定的obj
参数与此打开类型的实例进行比较以获得相等性。String
getClassName()
返回此开放类型描述的开放数据值的完全限定Java类名称。String
getDescription()
返回此OpenType
实例的文本描述。String
getTypeName()
返回此OpenType
实例的名称。abstract int
hashCode()
返回对象的哈希码值。boolean
isArray()
返回true
如果打开的类型描述的开放数据值是数组,否则为false
。abstract boolean
isValue(Object obj)
测试 obj是否是此打开类型的值。abstract String
toString()
返回此打开类型实例的字符串表示形式。
-
-
-
字段详细信息
-
ALLOWED_CLASSNAMES_LIST
public static final List<String> ALLOWED_CLASSNAMES_LIST
列出允许开放数据值的Java类的完全限定名称。 这些类中的任何一个或其对应的基本类型的多维数组也是开放数据值的允许类。ALLOWED_CLASSNAMES_LIST = { "java.lang.Void", "java.lang.Boolean", "java.lang.Character", "java.lang.Byte", "java.lang.Short", "java.lang.Integer", "java.lang.Long", "java.lang.Float", "java.lang.Double", "java.lang.String", "java.math.BigDecimal", "java.math.BigInteger", "java.util.Date", "javax.management.ObjectName", CompositeData.class.getName(), TabularData.class.getName() } ;
-
ALLOWED_CLASSNAMES
@Deprecated public static final String[] ALLOWED_CLASSNAMES
已过时。 改用ALLOWED_CLASSNAMES_LIST
。
-
-
构造方法详细信息
-
OpenType
protected OpenType(String className, String typeName, String description) throws OpenDataException
构造一个OpenType
实例(实际上是一个子类实例为OpenType
是抽象的),检查给定参数的有效性。 以下对每个参数描述有效性约束。
- 参数
-
className
- 此开放类型描述的开放数据值的完全限定Java类名称。 允许开放数据值使用的有效Java类名称列在ALLOWED_CLASSNAMES_LIST
中 。 这些类或它们的相应原始类型的任一项所述的多维数组也是允许的类,在这种情况下,类名称遵循由该方法所定义的规则getName()
的java.lang.Class
。 例如,字符串的3维数组的类名称为“[[[Ljava.lang.String;
”(不带引号)。
-
typeName
- 此实例表示的打开类型的名称; 不能为null或空字符串。
-
description
- 此实例表示的开放类型的可读描述; 不能为null或空字符串。
- 异常
-
IllegalArgumentException
- 如果 className , typeName或 description是空字符串或空字符串
-
OpenDataException
- 如果 className不是开放数据允许的Java类名称之一
-
-
方法详细信息
-
getClassName
public String getClassName()
返回此开放类型描述的开放数据值的完全限定Java类名称。ALLOWED_CLASSNAMES_LIST
中列出了开放数据值中唯一可能的Java类名。 这些类或它们的相应原始类型的任一项所述的多维数组也是允许的类,在这种情况下,类名称遵循由该方法所定义的规则getName()
的java.lang.Class
。 例如,一个3维数组的字符串的类名为“[[[Ljava.lang.String;
”(没有引号),一个三维数组的整数有类名“[[[Ljava.lang.Integer;
”(不带引号)和三维数组int的类名为“[[[I
”(不含引号)- 结果
- 类名。
-
getTypeName
public String getTypeName()
返回此OpenType
实例的名称。- 结果
- 类型名称。
-
getDescription
public String getDescription()
返回此OpenType
实例的文本描述。- 结果
- 说明。
-
isArray
public boolean isArray()
返回true
如果这个打开类型的开放数据值是数组,否则为false
。- 结果
- 如果这是数组类型,则为true。
-
isValue
public abstract boolean isValue(Object obj)
测试 obj是否是此打开类型的值。- 参数
-
obj
- 要测试的对象的有效性。 - 结果
-
true
如果 obj是此开放类型的值,false
否则。
-
equals
public abstract boolean equals(Object obj)
将指定的obj
参数与此打开类型的实例进行比较以获得相等性。- 重写:
-
equals
在Object
- 参数
-
obj
- 要比较的对象。 - 结果
-
如果此对象和
obj
相等,obj
true。 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public abstract int hashCode()
描述从类复制:Object
返回对象的哈希码值。 支持这种方法有利于哈希表,如HashMap
所提供的那样 。hashCode
的总合同是:- 无论何时在执行Java应用程序时多次在同一个对象上调用该对象,则
hashCode
方法必须始终返回相同的整数,前提是修改了对象中equals
比较中的信息。 该整数不需要从一个应用程序的执行到相同应用程序的另一个执行保持一致。 - 如果根据
equals(Object)
方法两个对象相等,则在两个对象中的每个对象上调用hashCode
方法必须产生相同的整数结果。 - 不要求如果两个对象根据
Object.equals(java.lang.Object)
方法不相等,则在两个对象中的每一个上调用hashCode
方法必须产生不同的整数结果。 但是,程序员应该意识到,为不等对象生成不同的整数结果可能会提高哈希表的性能。
尽可能合理实用,由类
Object
定义的hashCode方法确实为不同对象返回不同的整数。 (在某个时间点,hashCode可能或可能不被实现为对象的存储器地址的某些功能。)- 重写:
-
hashCode
在Object
- 结果
- 该对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
- 无论何时在执行Java应用程序时多次在同一个对象上调用该对象,则
-
-