javax.management.openmbean

接口
异常
java.lang.Object
  继承者 javax.management.openmbean.OpenType<T>
类型参数:
T - Java 类型,本类描述的实例必须具有这一类型。例如, SimpleType.INTEGERSimpleType<Integer>,而后者是 OpenType<Integer> 的子类,这意味着描述为 SimpleType.INTEGER 的属性、参数或者返回值必须具有 Java 类型 Integer
所有已实现的接口:
Serializable
直接已知子类:
ArrayType, CompositeType, SimpleType, TabularType

public abstract class OpenType<T>
     
extends Object
implements Serializable

OpenType 类是所有类的父抽象类,它描述开放数据值的实际开放类型

开放类型 定义如下:

  • 此类型描述的开放数据值的完全限定的 Java 类名;注意,对于开放数据值,仅考虑有限的 Java 类集合(请参阅 LIST ALLOWED_CLASSNAMES LIST)。
  • 开放类型的名称。
  • 开放类型的描述。

从以下版本开始:
1.5
另请参见:
序列化表格

字段摘要
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
 

字段详细信息

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 类名。在 ALLOWED_CLASSNAMES_LIST 中列出了开放数据值允许的有效 Java 类名。这些类或其相应的基本类型中任何一个类的多维数组也是一个允许的类,在这种情况下,类名遵循 java.lang.ClassgetName() 方法定义的规则。例如,字符串的 3 维数组的类名是 " [[[Ljava.lang.String;"(不带引号)。
 
typeName - 为此实例表示的开放类型给出的名称;不可为 null 或空字符串。
 
description - 此实例表示的开放类型的可读描述;不可为 null 或空字符串。
 
抛出:
IllegalArgumentException - 如果 classNametypeNamedescription 为 null 或空字符串
 
OpenDataException - 如果 className 不是开放数据允许的 Java 类名之一
方法详细信息

getClassName

public String getClassName()
返回此开放类型描述的开放数据值的完全限定的 Java 类名。在 ALLOWED_CLASSNAMES_LIST 中仅列出了开放数据值可能的 Java 类名。这些类或其相应的基本类型中任何一个类的多维数组也是一个允许的类,在这种情况下,类名遵循 java.lang.ClassgetName() 方法定义的规则。例如,一个 String 三维数组的类名是 " [[[Ljava.lang.String;"(不包括引号);一个 Integer 三维数组的类名是 " [[[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 - 要测试其有效性的对象。
返回:
如果 obj 是此开放类型的值,则返回 true,否则返回 false

equals

public abstract boolean equals(Object obj)
比较指定的 obj 参数与此开放类型实例的相等性。

覆盖:
Object 中的 equals
参数:
obj - 要比较的对象。
返回:
如果此对象与 obj 相等,则返回 true。
另请参见:
Object.hashCode(), Hashtable

hashCode

public abstract int hashCode()
从类 Object 复制的描述
返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。

hashCode 的常规协定是:

  • 在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals 比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。
  • 如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。
  • 如果根据 Object.equals(java.lang.Object) 方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法 要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。

实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。)

覆盖:
Object 中的 hashCode
返回:
此对象的一个哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

toString

public abstract String toString()
返回此开放类型实例的字符串表示形式。

覆盖:
Object 中的 toString
返回:
字符串表示形式。