类 TabularDataSupport

java.lang.Object
javax.management.openmbean.TabularDataSupport
所有已实现的接口:
Serializable , Cloneable , Map<Object,Object> , TabularData

public class TabularDataSupport extends Object implements TabularData , Map <Object ,Object >, Cloneable , Serializable
TabularDataSupport 类是开放数据实现TabularDataMap 接口的类,它在内部基于散列映射数据结构。
自从:
1.5
参见:
  • 内部类总结

    在接口 java.util.Map 中声明的嵌套类/接口

    Map.Entry<K,V>
  • 构造方法总结

    构造方法
    构造方法
    描述
    创建一个空的 TabularDataSupport 实例,其开放类型为表格类型,其底层 HashMap 具有默认初始容量 (101) 和默认负载因子 (0.75)。
    TabularDataSupport(TabularType tabularType, int initialCapacity, float loadFactor)
    创建一个空的 TabularDataSupport 实例,其开放类型为表格类型,其基础HashMap具有指定的初始容量和负载因子。
  • 方法总结

    修饰符和类型
    方法
    描述
    计算将在此 TabularData 实例中使用的索引以引用指定的复合数据value参数,如果它被添加到这个实例。
    void
    从此 TabularDataSupport 实例中删除所有行。
    返回此 TabularDataSupport 实例的克隆:通过调用 super.clone() 获得克隆,然后克隆底层映射。
    boolean
    当且仅当此 TabularData 实例包含索引为指定的 CompositeData 值(即一行)时,返回 truekey.
    boolean
    当且仅当此 TabularData 实例包含索引为指定的 CompositeData 值(即一行)时,返回 truekey.
    boolean
    当且仅当此 TabularData 实例包含指定值时返回 true
    boolean
    当且仅当此 TabularData 实例包含指定的 CompositeData 值时,返回 true
    返回索引到此 TabularDataSupport 实例中包含的行映射的集合视图。
    boolean
    equals(Object obj)
    比较指定的对象参数与此 TabularDataSupport 实例相等。
    get(Object key)
    此方法只是调用 get((Object[]) key)
    get(Object[] key)
    返回索引为的CompositeDatakeynull 如果没有值映射到key,在这个 TabularData 实例中。
    返回表格类型描述这个 TabularData 实例。
    int
    返回此 TabularDataSupport 实例的哈希码值。
    boolean
    如果此 TabularDataSupport 实例不包含任何行,则返回 true
    返回此 TabularDataSupport 实例的基础map中包含的键的集合视图,用于索引行。
    put(Object key, Object value)
    此方法只是调用 put((CompositeData) value),因此忽略了它的key参数可以是 null
    void
    添加value到这个 TabularData 实例。
    void
    putAll(Map<?,?> t)
    添加指定map中包含的所有值t到这个 TabularData 实例。
    void
    putAll(CompositeData[] values)
    添加所有元素values到这个 TabularData 实例。
    remove(Object key)
    此方法只是调用 remove((Object[]) key)
    remove(Object[] key)
    删除索引为的 CompositeDatakey来自这个 TabularData 实例,并返回移除的值,或者如果没有索引为的值则返回 nullkey.
    int
    size()
    返回此 TabularDataSupport 实例中的行数。
    返回此 TabularDataSupport 实例的字符串表示形式。
    返回此 TabularDataSupport 实例中包含的行的集合视图。

    在类 java.lang.Object 中声明的方法

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • 构造方法详细信息

    • TabularDataSupport

      public TabularDataSupport(TabularType  tabularType)
      创建一个空的 TabularDataSupport 实例,其开放类型为表格类型,其底层 HashMap 具有默认初始容量 (101) 和默认负载因子 (0.75)。

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

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

      public TabularDataSupport(TabularType  tabularType, int initialCapacity, float loadFactor)
      创建一个空的 TabularDataSupport 实例,其开放类型为表格类型,其基础HashMap具有指定的初始容量和负载因子。
      参数:
      tabularType - 的表格类型描述这个TabularData实例;不能为空。
      initialCapacity - HashMap 的初始容量。
      loadFactor - HashMap 的负载因子
      抛出:
      IllegalArgumentException - 如果初始容量小于零,或者负载因子为非正数,或者表格类型为空。
  • 方法详情

    • getTabularType

      public TabularType  getTabularType()
      返回表格类型描述这个 TabularData 实例。
      指定者:
      getTabularType 在接口 TabularData
      返回:
      表格类型。
    • calculateIndex

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

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

      public boolean containsKey(Object [] key)
      当且仅当此 TabularData 实例包含索引为指定的 CompositeData 值(即一行)时,返回 truekey.如果keynull 或不符合此 TabularData 实例的 TabularType 定义,此方法仅返回 false
      指定者:
      containsKey 在接口 TabularData
      参数:
      key - 要测试其在此 TabularData 实例中是否存在的索引值。
      返回:
      true 如果此 TabularData 使用指定键索引行值。
    • containsValue

      public boolean containsValue(CompositeData  value)
      当且仅当此 TabularData 实例包含指定的 CompositeData 值时,返回 true。如果valuenull 或不符合此 TabularData 实例的行类型定义,此方法仅返回 false
      指定者:
      containsValue 在接口 TabularData
      参数:
      value - 要测试其在此 TabularData 实例中是否存在的行值。
      返回:
      true 如果此 TabularData 实例包含指定的行值。
    • containsValue

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

      public Object  get(Object  key)
      此方法只是调用 get((Object[]) key)
      指定者:
      get 在接口 Map<Object,Object>
      参数:
      key - 要返回其关联值的键
      返回:
      指定键映射到的值,如果此map不包含键的映射,则返回 null
      抛出:
      NullPointerException - 如果keynull
      ClassCastException - 如果key不是Object[]类型
      InvalidKeyException - 如果key不符合这个 TabularData 实例的 TabularType 定义
    • get

      public CompositeData  get(Object [] key)
      返回索引为的CompositeDatakeynull 如果没有值映射到key,在这个 TabularData 实例中。
      指定者:
      get 在接口 TabularData
      参数:
      key - 要在此 TabularData 实例中获取的值的索引;必须对此 TabularData 实例的行类型定义有效;不得为空。
      返回:
      对应的值key.
      抛出:
      NullPointerException - 如果keynull
      InvalidKeyException - 如果key不符合此 TabularData 实例的 TabularType 类型定义。
    • put

      public Object  put(Object  key, Object  value)
      此方法只是调用 put((CompositeData) value),因此忽略了它的key参数可以是 null
      指定者:
      put 在接口 Map<Object,Object>
      参数:
      key - 一个被忽略的参数。
      value - 要放置的 CompositeData
      返回:
      投入的值
      抛出:
      NullPointerException - 如果valuenull
      ClassCastException - 如果value不是CompositeData类型
      InvalidOpenTypeException - 如果value不符合这个 TabularData 实例的 TabularType 定义
      KeyAlreadyExistsException - 如果密钥为value参数,根据此 TabularData 实例的 TabularType 定义计算已映射到现有值
    • put

      public void put(CompositeData  value)
      从接口 TabularData 复制的描述
      添加value到这个 TabularData 实例。的复合类型value必须与此实例的行类型相同(即 this.getTabularType().getRowType() 返回的复合类型),并且此 TabularData 实例中不得已经存在其索引与为计算的索引相同的值value待补充。该索引为value根据此 TabularData 实例的 TabularType 定义计算(参见 TabularType.getIndexNames() )。
      指定者:
      put 在接口 TabularData
      参数:
      value - 要作为新行添加到此 TabularData 实例的复合数据值;必须与此实例的行类型具有相同的复合类型;不得为空。
    • remove

      public Object  remove(Object  key)
      此方法只是调用 remove((Object[]) key)
      指定者:
      remove 在接口 Map<Object,Object>
      参数:
      key - 一个 Object[] 表示要删除的密钥。
      返回:
      与指定键相关联的先前值,或者 null 如果没有键的映射。
      抛出:
      NullPointerException - 如果keynull
      ClassCastException - 如果key不是Object[]类型
      InvalidKeyException - 如果key不符合这个 TabularData 实例的 TabularType 定义
    • remove

      public CompositeData  remove(Object [] key)
      删除索引为的 CompositeDatakey来自这个 TabularData 实例,并返回移除的值,或者如果没有索引为的值则返回 nullkey.
      指定者:
      remove 在接口 TabularData
      参数:
      key - 要在此 TabularData 实例中获取的值的索引;必须对此 TabularData 实例的行类型定义有效;不得为空。
      返回:
      与指定键相关联的先前值,或者 null 如果没有键的映射。
      抛出:
      NullPointerException - 如果keynull
      InvalidKeyException - 如果key不符合这个 TabularData 实例的 TabularType 定义
    • putAll

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

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

      public void clear()
      从此 TabularDataSupport 实例中删除所有行。
      指定者:
      clear 在接口 Map<Object,Object>
      指定者:
      clear 在接口 TabularData
    • size

      public int size()
      返回此 TabularDataSupport 实例中的行数。
      指定者:
      size 在接口 Map<Object,Object>
      指定者:
      size 在接口 TabularData
      返回:
      TabularDataSupport 实例中的行数。
    • isEmpty

      public boolean isEmpty()
      如果此 TabularDataSupport 实例不包含任何行,则返回 true
      指定者:
      isEmpty 在接口 Map<Object,Object>
      指定者:
      isEmpty 在接口 TabularData
      返回:
      true 如果此 TabularDataSupport 实例不包含任何行。
    • keySet

      public Set <Object > keySet()
      返回此 TabularDataSupport 实例的基础map中包含的键的集合视图,用于索引行。此 Set 中包含的每个键都是不可修改的 List<?> 因此返回的集合视图是 Set<List<?>> 但出于兼容性原因被声明为 Set<Object>。该集合由该 TabularDataSupport 实例的底层映射支持,因此对 TabularDataSupport 实例的更改会反映在该集合中,反之亦然。该集合支持元素删除,即通过 Iterator.remove() Set.remove(java.lang.Object) Set.removeAll(java.util.Collection<?>) Set.retainAll(java.util.Collection<?>) Set.clear() 操作从此 TabularDataSupport 实例中删除相应的行。它不支持 Set.add(E) Set.addAll(java.util.Collection<? extends E>) 操作。
      指定者:
      keySet 在接口 Map<Object,Object>
      指定者:
      keySet 在接口 TabularData
      返回:
      用于索引此 TabularDataSupport 实例的行的键的集合视图 (Set<List<?>>)。
    • values

      public Collection <Object > values()
      返回此 TabularDataSupport 实例中包含的行的集合视图。返回的 CollectionCollection<CompositeData> 但出于兼容性原因被声明为 Collection<Object>。返回的集合可用于迭代值。该集合由底层映射支持,因此对 TabularDataSupport 实例的更改会反映在该集合中,反之亦然。该集合支持元素删除,它通过 Iterator.remove() Collection.remove(java.lang.Object) Collection.removeAll(java.util.Collection<?>) Collection.retainAll(java.util.Collection<?>) Collection.clear() 操作从该 TabularDataSupport 实例中删除对应的索引到行映射。它不支持 Collection.add(E) Collection.addAll(java.util.Collection<? extends E>) 操作。
      指定者:
      values 在接口 Map<Object,Object>
      指定者:
      values 在接口 TabularData
      返回:
      TabularDataSupport 实例中包含的值的集合视图 (Collection<CompositeData>)。
    • entrySet

      public Set <Map.Entry <Object ,Object >> entrySet()
      返回索引到此 TabularDataSupport 实例中包含的行映射的集合视图。返回集合中的每个元素都是 Map.Entry<List<?>,CompositeData> 但出于兼容性原因被声明为 Map.Entry<Object,Object>。每个映射条目键都是不可修改的 List<?> 。该集合由该 TabularDataSupport 实例的底层映射支持,因此对 TabularDataSupport 实例的更改会反映在该集合中,反之亦然。该集合支持元素删除,即通过 Iterator.remove() Collection.remove(java.lang.Object) Collection.removeAll(java.util.Collection<?>) Collection.retainAll(java.util.Collection<?>) Collection.clear() 操作从map中删除相应的映射。它不支持 Collection.add(E) Collection.addAll(java.util.Collection<? extends E>) 操作。

      IMPORTANT NOTICE:不要使用返回的集合视图中包含的Map.Entry元素的setValue方法。这样做会破坏索引到此 TabularDataSupport 实例中包含的行映射。

      指定者:
      entrySet 在接口 Map<Object,Object>
      返回:
      此map中包含的映射的集合视图 (Set<Map.Entry<List<?>,CompositeData>>)。
      参见:
    • clone

      public Object  clone()
      返回此 TabularDataSupport 实例的克隆:通过调用 super.clone() 获得克隆,然后克隆底层映射。仅对底层映射进行浅表克隆,即不对索引和行值进行克隆,因为它们是不可变的。
      重写:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见:
    • equals

      public boolean equals(Object  obj)
      比较指定的对象参数与此 TabularDataSupport 实例相等。

      当且仅当以下所有陈述都为真时,返回 true

      • 对象非空,
      • 对象还实现了TabularData接口,
      • 它们的表格类型相等
      • 它们的内容(即所有 CompositeData 值)是相等的。
      这可确保此 equals 方法适用于对象参数是TabularData接口的不同实现。
       
      指定者:
      equals 在接口 Map<Object,Object>
      指定者:
      equals 在接口 TabularData
      重写:
      equals 在类 Object
      参数:
      obj - 要与此 TabularDataSupport 实例进行相等比较的对象;
      返回:
      true 如果指定对象等于此 TabularDataSupport 实例。
      参见:
    • hashCode

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

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

      这确保 t1.equals(t2) 暗示 t1.hashCode()==t2.hashCode() 对于任何两个 TabularDataSupport 实例 t1t2,正如方法 Object.hashCode() 的一般契约所要求的那样。

      但是,请注意,实现 TabularData 接口的类的另一个实例可能等于 equals(java.lang.Object) 定义的这个 TabularDataSupport 实例,但如果计算方式不同,则可能具有不同的哈希码。

      指定者:
      hashCode 在接口 Map<Object,Object>
      指定者:
      hashCode 在接口 TabularData
      重写:
      hashCode 在类 Object
      返回:
      TabularDataSupport 实例的哈希码值
      参见:
    • toString

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

      字符串表示包含此类的名称(即 javax.management.openmbean.TabularDataSupport )、此实例的表格类型的字符串表示以及内容的字符串表示(即列出调用 dataMap. toString() 返回的键=值映射) .

      指定者:
      toString 在接口 TabularData
      重写:
      toString 在类 Object
      返回:
      TabularDataSupport 实例的字符串表示形式