Module  java.management

Class TabularType

    • 构造方法详细信息

      • TabularType

        public TabularType​(String typeName,
                           String description,
                           CompositeType rowType,
                           String[] indexNames)
                    throws OpenDataException
        构造一个TabularType实例,检查给定参数的有效性。 以下对每个参数描述有效性约束。

        该表格类型表示的表格数据值的Java类名称(即由getClassName方法返回的类名称)设置为由TabularData.class.getName()返回的字符串值。

        参数
        typeName - 此实例表示的表格类型的名称; 不能为null或空字符串。
        description - 此实例表示的表格类型的人类可读描述; 不能为null或空字符串。
        rowType - 此表格类型实例描述的表格数据值的行元素的类型; 不能为空。
        indexNames - 其值用于唯一索引此表格类型实例描述的表格数据值中每个行元素的项目的名称; 不能为null或空。 每个元素应该是在rowType中定义的项目名称(不允许空字符串或空字符串)。 重要的是注意, 索引名称中的项目名称的顺序由类别TabularData的方法getremove使用 ,以将它们的值参数数组与项目匹配。
        异常
        IllegalArgumentException - 如果 rowType为空,或者 indexNames为空或空数组,或者 indexNames中的元素为空或空字符串,或 typeNamedescription为空或空字符串。
        OpenDataException - 如果元素的 indexNames值不是在 rowType中定义的项名称。
    • 方法详细信息

      • getRowType

        public CompositeType getRowType​()
        返回此 TabularType实例描述的表格数据值的行元素的类型。
        结果
        每行的类型。
      • getIndexNames

        public List<String> getIndexNames​()

        以与给该实例的构造函数相同的顺序返回一个不可修改的列表,该列表的值用于唯一地索引此TabularType实例描述的表格数据值的每个行元素。

        结果
        一个表示索引项名称的字符串列表。
      • isValue

        public boolean isValue​(Object obj)
        测试obj是否可以由此TabularType实例描述的值。

        如果obj为空或不是javax.management.openmbean.TabularData的实例,则isValue返回false

        如果obj的实例javax.management.openmbean.TabularData ,说td ,结果为真,如果这TabularType从分配 td.getTabularType() ,如定义CompositeType.isValue

        Specified by:
        isValueOpenType<TabularData>
        参数
        obj - 要与该 TabularType实例兼容的开放类型的值。
        结果
        true如果 obj是此表格类型的值, false否则。
      • equals

        public boolean equals​(Object obj)
        将指定的obj参数与此TabularType实例进行比较以获得相等性。

        当且仅当所有以下语句都为真时,两个TabularType实例相等:

        • 它们的类型名称相等
        • 他们的行类型是相等的
        • 它们以相同的顺序使用相同的索引名称

        Specified by:
        equalsOpenType<TabularData>
        参数
        obj - 要与TabularType实例相等的对象; 如果objnull ,则equals返回false
        结果
        true如果指定的对象等于这个 TabularType实例。
        另请参见:
        Object.hashCode()HashMap
      • hashCode

        public int hashCode​()
        返回此TabularType实例的哈希码值。

        TabularType实例的哈希码是equals比较中使用的所有信息元素的哈希码的总和(即:名称,行类型,索引名称)。 这确保了t1.equals(t2)意味着t1.hashCode()==t2.hashCode()对于任何两个TabularType实例t1t2 ,根据方法Object.hashCode()的一般合同的要求

        由于TabularType实例是不可变的,因此在第一次调用hashCode ,该实例的哈希代码将被计算一次,然后为后续调用返回相同的值。

        Specified by:
        hashCodeOpenType<TabularData>
        结果
        这个 TabularType实例的哈希码值
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • toString

        public String toString​()
        返回此TabularType实例的字符串表示形式。

        字符串表示由此类的名称(即javax.management.openmbean.TabularType ),此实例的类型名称,此实例的行类型字符串表示形式和此实例的索引名称组成。

        由于TabularType实例是不可变的,所以在第一次调用toString ,该实例的字符串表示计算一次,然后为后续调用返回相同的值。

        Specified by:
        toStringOpenType<TabularData>
        结果
        这是一个 TabularType实例的字符串表示形式