Module  java.management

Class TabularDataSupport

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Map

        Map.Entry<K,V>
    • 构造方法摘要

      构造方法  
      Constructor 描述
      TabularDataSupport​(TabularType tabularType)
      创建一个空的 TabularDataSupport实例,其开放类型为 tabularType ,其底层 HashMap具有默认初始容量(101)和默认负载因子(0.75)。
      TabularDataSupport​(TabularType tabularType, int initialCapacity, float loadFactor)
      创建一个空的 TabularDataSupport实例,其open-type是 tabularType ,其底层 HashMap具有指定的初始容量和负载因子。
    • 构造方法详细信息

      • TabularDataSupport

        public TabularDataSupport​(TabularType tabularType)
        创建一个空的TabularDataSupport实例,其open-type是tabularType ,底层的HashMap具有默认初始容量(101)和默认负载因子(0.75)。

        这个构造函数只需调用this(tabularType, 101, 0.75f);

        参数
        tabularType - 描述这个TabularData实例的表格类型 ; 不能为空。
        异常
        IllegalArgumentException - 如果表格类型为空。
      • TabularDataSupport

        public TabularDataSupport​(TabularType tabularType,
                                  int initialCapacity,
                                  float loadFactor)
        创建一个空的 TabularDataSupport实例,其open-type是 tabularType ,底层的 HashMap具有指定的初始容量和负载因子。
        参数
        tabularType - 描述这个TabularData实例的表格类型 ; 不能为空。
        initialCapacity - HashMap的初始容量。
        loadFactor - HashMap的负载因子
        异常
        IllegalArgumentException - 如果初始容量小于零,或负载因子为非正性,或表格类型为空。
    • 方法详细信息

      • getTabularType

        public TabularType getTabularType​()
        返回描述此 TabularData实例的 表格类型
        Specified by:
        getTabularType在接口 TabularData
        结果
        表格类型。
      • calculateIndex

        public Object[] calculateIndex​(CompositeData value)
        计算此TabularData实例中使用的索引,以引用指定的复合数据参数(如果已添加到此实例)。 此方法检查指定的类型有效性,但不检查计算的索引是否已被用于引用此TabularData实例中的值。
        Specified by:
        calculateIndex在接口 TabularData
        参数
        value - 要计算此TabularData实例中的索引的复合数据值; 必须与此实例的行类型具有相同的复合类型; 不能为空。
        结果
        指定的 在这个 TabularData实例中具有的索引。
        异常
        NullPointerException - 如果 值为 null
        InvalidOpenTypeException - 如果 不符合此 TabularData实例的行类型定义。
      • containsKey

        public boolean containsKey​(Object key)
        返回true当且仅当此TabularData实例包含索引为指定CompositeData值(即一行)时。 如果不能被转换为Object实例的一维数组,则此方法只返回false ; 否则会将调用结果返回给this.containsKey((Object[]) key)
        Specified by:
        containsKey在接口 Map<Object,Object>
        参数
        key - 要测试此 TabularData实例中的索引值。
        结果
        true如果这个 TabularData用指定的键索引行值。
      • containsKey

        public boolean containsKey​(Object[] key)
        返回true当且仅当该TabularData实例包含索引为指定CompositeData值(即一行)时。 如果null或者不符合这个TabularData实例的TabularType定义,这个方法只需返回false
        Specified by:
        containsKey在接口 TabularData
        参数
        key - 要测试其在此 TabularData实例中的索引值。
        结果
        true如果这个 TabularData用指定的键索引行值。
      • containsValue

        public boolean containsValue​(CompositeData value)
        如果且仅当此TabularData实例包含指定的CompositeData值时,则返回true 如果值为 null或不符合此TabularData实例的行类型定义,则此方法只返回false
        Specified by:
        containsValue在接口 TabularData
        参数
        value - 要测试此 TabularData实例中的行值。
        结果
        true如果此 TabularData实例包含指定的行值。
      • containsValue

        public boolean containsValue​(Object value)
        当且仅当此 TabularData实例包含指定值时,返回 true
        Specified by:
        containsValue在接口 Map<Object,Object>
        参数
        value - 要在此 TabularData实例中存在的行值要测试。
        结果
        true如果此 TabularData实例包含指定的行值。
      • get

        public Object get​(Object key)
        这个方法只需调用 get((Object[]) key)
        Specified by:
        get在接口 Map<Object,Object>
        参数
        key - 要返回其关联值的键
        结果
        指定键映射到的值,如果此映射不包含该键的映射, null
        异常
        NullPointerException - 如果 null
        ClassCastException - 如果 不是类型 Object[]
        InvalidKeyException - 如果 密钥不符合这个 TabularData实例的 TabularType定义
      • get

        public CompositeData get​(Object[] key)
        返回 CompositeData值,其指数是 关键 ,或 null如果没有值映射到 按键 ,在此 TabularData实例。
        Specified by:
        get在接口 TabularData
        参数
        key - 在这个TabularData实例中获取的值的索引; 必须与此TabularData实例的行类型定义一致; 不能为空。
        结果
        值对应的
        异常
        NullPointerException - 如果 null
        InvalidKeyException - 如果 密钥不符合此 TabularData实例的 TabularType类型定义。
      • put

        public void put​(CompositeData value)
        描述从接口TabularData复制
        添加到此TabularData实例。 当复合型的必须与此相同实例的行类型(即返回的复合型this.getTabularType().getRowType() ),而且必须没有在这个现有值TabularData实例,其指数是相同的来计算的一个被添加。 的索引根据TabularData实例的TabularType定义计算(见TabularType.getIndexNames() )。
        Specified by:
        put在接口 TabularData
        参数
        value - 要添加到此TabularData实例的新行的复合数据值; 必须与此实例的行类型具有相同的复合类型; 不能为空。
      • remove

        public Object remove​(Object key)
        这个方法只需拨打 remove((Object[]) key)
        Specified by:
        remove在接口 Map<Object,Object>
        参数
        key - 一个 Object[]表示删除的关键。
        结果
        与指定键相关联的上一个值,如果没有键的映射, null
        异常
        NullPointerException - 如果 密钥null
        ClassCastException - 如果 不是类型 Object[]
        InvalidKeyException - 如果 密钥不符合这个 TabularData实例的 TabularType定义
      • remove

        public CompositeData remove​(Object[] key)
        TabularData实例中删除索引为 keyCompositeData值,并返回已删除的值,如果没有索引为 key的值,则返回 null
        Specified by:
        remove在接口 TabularData
        参数
        key - 在这个TabularData实例中获取的值的索引; 必须使用此TabularData实例的行类型定义才有效; 不能为空。
        结果
        与指定键相关联的上一个值,如果没有键的映射, null
        异常
        NullPointerException - 如果 密钥null
        InvalidKeyException - 如果 密钥不符合这个 TabularData实例的 TabularType定义
      • putAll

        public void putAll​(Map<?,?> t)
        将指定映射t中包含的所有值添加到此TabularData实例。 如果可能,此方法将包含在该映射中的值的集合转换为CompositeData值的数组,然后调用方法putAll(CompositeData[]) 请注意,在指定的映射t中使用的键将被忽略。 该方法允许例如将具有相同行类型(但可能不同的索引名称)的另一个TabularData实例的内容添加到该实例中。
        Specified by:
        putAll在接口 Map<Object,Object>
        参数
        t - 其值将作为新行添加到此TabularData实例的TabularData ; 如果tnull或为空,则此方法返回而不做任何事情。
        异常
        NullPointerException - 如果 t中的值为 null
        ClassCastException - 如果 t中的值不是 CompositeData的实例。
        InvalidOpenTypeException - 如果 t中的值不符合此 TabularData实例的行类型定义。
        KeyAlreadyExistsException - 如果根据此 TabularData实例的 TabularType定义计算的值 t的索引已经映射到此实例中的现有值,或 t中的两个值具有相同的索引。
      • putAll

        public void putAll​(CompositeData[] values)
        值中的所有元素添加到此TabularData实例中。 如果中的任何元素不满足put定义的约束,或者如果中的任何两个元素具有根据此TabularData实例的TabularType定义计算的相同索引,则抛出描述失败的异常,并且不添加元素,从而使这个TabularData实例保持不变。
        Specified by:
        putAll在接口 TabularData
        参数
        values - 要添加到此TabularData实例的新行的复合数据值数组; 如果值为 null或为空,则此方法返回而不做任何操作。
        异常
        NullPointerException - 如果 的元素是 null
        InvalidOpenTypeException - 如果 的元素不符合此 TabularData实例的行类型定义(即其 TabularType定义)
        KeyAlreadyExistsException - 如果根据此 TabularData实例的 TabularType定义计算的 元素的索引已经映射到此实例中的现有值,或两个 值的元素具有相同的索引
      • size

        public int size​()
        返回此 TabularDataSupport实例中的行数。
        Specified by:
        size在接口 Map<Object,Object>
        Specified by:
        size在接口 TabularData
        结果
        这个 TabularDataSupport实例中的行数。
      • isEmpty

        public boolean isEmpty​()
        如果此 TabularDataSupport实例不包含任何行,则返回 true
        Specified by:
        isEmpty在接口 Map<Object,Object>
        Specified by:
        isEmpty在接口 TabularData
        结果
        true如果此 TabularDataSupport实例不包含任何行。
      • clone

        public Object clone​()
        返回此TabularDataSupport实例的克隆:通过调用super.clone()获取克隆,然后克隆底层地图。 仅生成底层地图的浅克隆,即不进行索引和行值的克隆,因为它们是不可变的。
        重写:
        cloneObject
        结果
        这个实例的一个克隆。
        另请参见:
        Cloneable
      • equals

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

        返回true当且仅当以下所有语句均为真时:

        • obj是非空,
        • obj还实现了TabularData接口,
        • 它们的表格类型是相等的
        • 它们的内容(即所有的CompositeData值)相等。
        这样可以确保equals方法适用于TabularData接口的不同实现的对象参数。
        Specified by:
        equals在接口 Map<Object,Object>
        Specified by:
        equals在接口 TabularData
        重写:
        equalsObject
        参数
        obj - 要与 TabularDataSupport实例相等的对象;
        结果
        true如果指定的对象等于这个 TabularDataSupport实例。
        另请参见:
        Object.hashCode()HashMap
      • hashCode

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

        TabularDataSupport实例的哈希码是equals比较中使用的所有信息元素的哈希码的总和(即:其表格类型及其内容,其中内容定义为所有CompositeData值)。

        这确保了t1.equals(t2)意味着t1.hashCode()==t2.hashCode()对于任何两个TabularDataSupport实例t1t2 ,所要求的方法的常规合同Object.hashCode()

        但是,请注意,实现TabularData接口的类的另一个实例可能等于TabularDataSupport定义的27075445643443实例,但如果其计算方式不同,则可能具有不同的哈希码。

        Specified by:
        hashCode在接口 Map<Object,Object>
        Specified by:
        hashCode在接口 TabularData
        重写:
        hashCodeObject
        结果
        这个 TabularDataSupport实例的哈希码值
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • toString

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

        字符串表示由该类的名称(即javax.management.openmbean.TabularDataSupport ),此实例的表格类型的字符串表示形式和内容的字符串表示形式(即列出由调用dataMap. toString()返回的键=值映射) 。

        Specified by:
        toString在接口 TabularData
        重写:
        toStringObject
        结果
        这个 TabularDataSupport实例的字符串表示形式