Module  java.management

Class OpenType<T>

  • 参数类型
    T - 此类型描述的实例必须具有的Java类型。 例如, SimpleType.INTEGERSimpleType<Integer>这是一个子类OpenType<Integer> ,这意味着一个属性,参数或返回被描述为一个值SimpleType.INTEGER必须具有Java类型Integer
    All Implemented Interfaces:
    Serializable
    已知直接子类:
    ArrayTypeCompositeTypeSimpleTypeTabularType


    public abstract class OpenType<T>
    extends Object
    implements Serializable
    OpenType类是描述开放数据值的实际开放类型的所有类的父抽象类。

    开放类型由以下定义:

    • 该类型描述的开放数据值的完全限定的Java类名称; 请注意,只有一组有限的Java类才允许开放数据值(见ALLOWED_CLASSNAMES_LIST ),
    • 其名称,
    • 其描述。
    从以下版本开始:
    1.5
    另请参见:
    Serialized Form
    • 字段详细信息

      • 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() } ; 
    • 构造方法详细信息

      • 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 - 如果 classNametypeNamedescription是空字符串或空字符串
        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参数与此打开类型的实例进行比较以获得相等性。
        重写:
        equalsObject
        参数
        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可能或可能不被实现为对象的存储器地址的某些功能。)

        重写:
        hashCodeObject
        结果
        该对象的哈希码值。
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • toString

        public abstract String toString​()
        返回此打开类型实例的字符串表示形式。
        重写:
        toStringObject
        结果
        字符串表示。