java.lang.Object javax.management.openmbean.OpenType<T>
T
- Java 类型,本类描述的实例必须具有这一类型。例如,
SimpleType.INTEGER
是
SimpleType<Integer>
,而后者是
OpenType<Integer>
的子类,这意味着描述为
SimpleType.INTEGER
的属性、参数或者返回值必须具有 Java 类型
Integer
。
public abstract class OpenType<T>
OpenType
类是所有类的父抽象类,它描述开放数据值的实际开放类型。
开放类型 定义如下:
LIST ALLOWED_CLASSNAMES LIST
)。
字段摘要 | |
---|---|
static String[] |
ALLOWED_CLASSNAMES 已过时。 使用 ALLOWED_CLASSNAMES_LIST 取代。 |
static List<String> |
ALLOWED_CLASSNAMES_LIST 开放数据值允许的 Java 类的完全限定名称的列表。 |
构造方法摘要 | |
---|---|
protected |
OpenType(String className, String typeName, String description) 构造一个 OpenType 实例(实际上是一个子类实例,因为 OpenType 是抽象的),检查给定参数的有效性。 |
方法摘要 | |
---|---|
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() 返回此开放类型实例的字符串表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
public static final List<String> ALLOWED_CLASSNAMES_LIST
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() } ;
@Deprecated public static final String[] ALLOWED_CLASSNAMES
ALLOWED_CLASSNAMES_LIST
取代。
构造方法详细信息 |
---|
protected OpenType(String className, String typeName, String description) throws OpenDataException
OpenType
实例(实际上是一个子类实例,因为
OpenType
是抽象的),检查给定参数的有效性。下面描述了每个参数的有效性约束。
className
- 此开放类型描述的开放数据值的完全限定的 Java 类名。在
ALLOWED_CLASSNAMES_LIST
中列出了开放数据值允许的有效 Java 类名。这些类或其相应的基本类型中任何一个类的多维数组也是一个允许的类,在这种情况下,类名遵循
java.lang.Class
的
getName()
方法定义的规则。例如,字符串的 3 维数组的类名是 "
[[[Ljava.lang.String;
"(不带引号)。
typeName
- 为此实例表示的开放类型给出的名称;不可为 null 或空字符串。
description
- 此实例表示的开放类型的可读描述;不可为 null 或空字符串。
IllegalArgumentException
- 如果
className、
typeName 或
description 为 null 或空字符串
OpenDataException
- 如果
className 不是开放数据允许的 Java 类名之一
方法详细信息 |
---|
public String getClassName()
ALLOWED_CLASSNAMES_LIST
中仅列出了开放数据值可能的 Java 类名。这些类或其相应的基本类型中任何一个类的多维数组也是一个允许的类,在这种情况下,类名遵循
java.lang.Class
的
getName()
方法定义的规则。例如,一个 String 三维数组的类名是 "
[[[Ljava.lang.String;
"(不包括引号);一个 Integer 三维数组的类名是 "
[[[Ljava.lang.Integer;
"(不包括引号);一个 int 三维数组的类名是 "
[[[I
"(不包括引号)。
public String getTypeName()
OpenType
实例的名称。
public String getDescription()
OpenType
实例的文本描述。
public boolean isArray()
true
,否则返回
false
。
public abstract boolean isValue(Object obj)
obj
- 要测试其有效性的对象。
true
,否则返回
false
。
public abstract boolean equals(Object obj)
obj
参数与此开放类型实例的相等性。
obj
- 要比较的对象。
obj
相等,则返回 true。
Object.hashCode()
,
Hashtable
public abstract int hashCode()
Object
复制的描述
java.util.Hashtable
提供的哈希表)的性能。
hashCode
的常规协定是:
hashCode
方法都必须生成相同的整数结果。 Object.equals(java.lang.Object)
方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法不 要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。 实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。)
Object.equals(java.lang.Object)
,
Hashtable
public abstract String toString()