public class TabularDataSupport extends Object implements TabularData, Map<Object,Object>, Cloneable, Serializable
Constructor and Description |
---|
TabularDataSupport(TabularType tabularType)
创建一个空的
TabularDataSupport实例,其开放类型为
tabularType ,其底层
HashMap具有默认初始容量(101)和默认负载因子(0.75)。
|
TabularDataSupport(TabularType tabularType, int initialCapacity, float loadFactor)
创建一个空的
TabularDataSupport实例,其open-type为
tabularType ,其底层
HashMap具有指定的初始容量和负载因子。
|
Modifier and Type | Method and Description |
---|---|
Object[] |
calculateIndex(CompositeData value)
计算将在此
TabularData实例中使用的索引,以引用指定的复合数据
值参数(如果已添加到此实例)。
|
void |
clear()
从此
TabularDataSupport 实例中删除所有行。
|
Object |
clone()
返回此
TabularDataSupport 实例的克隆:克隆通过调用
super.clone()获取 ,然后克隆底层映射。
|
boolean |
containsKey(Object key)
返回
true当且仅当此
TabularData实例包含索引为指定
键的
CompositeData值(即一行)时。
|
boolean |
containsKey(Object[] key)
返回
true当且仅当此
TabularData实例包含一个
CompositeData值(即一行),其索引是指定的
键 。
|
boolean |
containsValue(CompositeData value)
返回
true当且仅当此
TabularData实例包含指定的
CompositeData值时。
|
boolean |
containsValue(Object value)
当且仅当此
TabularData实例包含指定值时返回
true 。
|
Set<Map.Entry<Object,Object>> |
entrySet()
返回此
TabularDataSupport 实例中
TabularDataSupport 行映射索引的集合视图。
|
boolean |
equals(Object obj)
将指定的
obj参数与此
TabularDataSupport 实例进行比较以获得相等性。
|
Object |
get(Object key)
这种方法只需调用
get((Object[]) key) 。
|
CompositeData |
get(Object[] key)
返回
CompositeData值,其指数是
关键 ,或
null如果没有值映射到
按键 ,在此
TabularData实例。
|
TabularType |
getTabularType()
返回描述此
TabularData实例的
表格类型 。
|
int |
hashCode()
返回此
TabularDataSupport 实例的哈希码值。
|
boolean |
isEmpty()
如果此
TabularDataSupport 实例不包含任何行,则返回
true 。
|
Set<Object> |
keySet()
返回用于对行进行索引的此
TabularDataSupport 实例的底层映射中包含的键的集视图。
|
void |
put(CompositeData value)
为此
TabularData实例添加
值 。
|
Object |
put(Object key, Object value)
该方法简单地调用
put((CompositeData) value) ,因此忽略其
关键参数,可以是
null 。
|
void |
putAll(CompositeData[] values)
将
值中的所有元素添加到此
TabularData实例。
|
void |
putAll(Map<?,?> t)
将指定映射
t中包含的所有值添加到此
TabularData实例中。
|
Object |
remove(Object key)
这种方法只需调用
remove((Object[]) key) 。
|
CompositeData |
remove(Object[] key)
从此
TabularData实例中删除其索引为
关键字的
CompositeData值,并返回删除的值,如果没有索引为
键的值,则返回
null 。
|
int |
size()
返回此
TabularDataSupport 实例中的行数。
|
String |
toString()
返回此
TabularDataSupport 实例的字符串表示形式。
|
Collection<Object> |
values()
返回此
TabularDataSupport 实例中包含的行的集合视图。
|
finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
public TabularDataSupport(TabularType tabularType)
这个构造函数只需调用this(tabularType, 101, 0.75f);
tabularType
- 描述这个TabularData实例的表格类型 ;
不能为空。
IllegalArgumentException
- 如果表格类型为空。
public TabularDataSupport(TabularType tabularType, int initialCapacity, float loadFactor)
tabularType
- 描述这个TabularData实例的表格类型 ;
不能为空。
initialCapacity
- HashMap的初始容量。
loadFactor
- HashMap的负载因子
IllegalArgumentException
- 如果初始容量小于零,或负载因子为非正性,或表格类型为空。
public TabularType getTabularType()
getTabularType
在接口
TabularData
public Object[] calculateIndex(CompositeData value)
calculateIndex
在接口
TabularData
value
- 要计算此TabularData实例中的索引的复合数据值;
必须与此实例的行类型具有相同的复合类型;
不能为空。
NullPointerException
- 如果
值为
null 。
InvalidOpenTypeException
- 如果
值不符合这个
TabularData实例的行类型定义。
public boolean containsKey(Object key)
containsKey
在接口
Map<Object,Object>
key
- 要测试其在此
TabularData实例中的索引值。
public boolean containsKey(Object[] key)
containsKey
中的
TabularData
key
- 要测试其在此
TabularData实例中的索引值。
public boolean containsValue(CompositeData value)
containsValue
在接口
TabularData
value
- 要测试其在此
TabularData实例中的行值。
public boolean containsValue(Object value)
containsValue
在接口
Map<Object,Object>
value
- 要测试其在此
TabularData实例中的行值。
public Object get(Object key)
get
在接口
Map<Object,Object>
key
- 要返回其关联值的键
null
NullPointerException
- 如果
密钥是
null
ClassCastException
- 如果
键不是类型
Object[]
InvalidKeyException
- 如果
密钥不符合这个
TabularData实例的
TabularType定义
public CompositeData get(Object[] key)
get
在接口
TabularData
key
- 在这个TabularData实例中获取的值的索引;
*必须与此TabularData实例的行类型定义一致;
*不能为空。
NullPointerException
- 如果
密钥是
null
InvalidKeyException
- 如果
键不符合这个
TabularData实例的
TabularType类型定义。
public Object put(Object key, Object value)
put
中的
Map<Object,Object>
key
- 忽略的参数。
value
- 要放CompositeData
。
NullPointerException
- 如果
值为
null
ClassCastException
- 如果
值不是类型
CompositeData
InvalidOpenTypeException
- 如果
值不符合这个
TabularData实例的
TabularType定义
KeyAlreadyExistsException
- 如果
值参数的键值,根据这个
TabularData实例的
TabularType定义已经映射到现有值
public void put(CompositeData value)
TabularData
复制
getRowType()
返回的复合类型),而且必须没有在这个TabularData实例,其指数是相同的值来计算的一个现有值被添加。
值的索引根据TabularData实例的TabularType定义(见TabularType.getIndexNames()
)计算。
put
中的
TabularData
value
- 要添加到此TabularData实例的新行的复合数据值;
必须与此实例的行类型具有相同的复合类型;
不能为空。
public Object remove(Object key)
remove
在接口
Map<Object,Object>
key
- 一个
Object[]代表删除的关键。
NullPointerException
- 如果
密钥是
null
ClassCastException
- 如果
键不是类型
Object[]
InvalidKeyException
- 如果
密钥不符合这个
TabularData实例的
TabularType定义
public CompositeData remove(Object[] key)
remove
在界面
TabularData
key
- 在这个TabularData实例中获取的值的索引;
必须使用此TabularData实例的行类型定义有效;
不能为空。
NullPointerException
- 如果
键是
null
InvalidKeyException
- 如果
密钥不符合这个
TabularData实例的
TabularType定义
public void putAll(Map<?,?> t)
putAll
在界面
Map<Object,Object>
t
- 其值将作为新行添加到此TabularData实例的映射 ;
如果t为null或为空,则此方法返回而不做任何事情。
NullPointerException
- 如果
t中的
值为null 。
ClassCastException
- 如果
t中的值不是
CompositeData的实例。
InvalidOpenTypeException
- 如果
t中的值不符合此
TabularData实例的行类型定义。
KeyAlreadyExistsException
- 如果根据这个
TabularData实例的
TabularType定义计算出的值
t的索引已经映射到此实例中的现有值,或
t中的两个值具有相同的索引。
public void putAll(CompositeData[] values)
put
中定义的约束 ,或者如果值中的任何两个元素具有根据此TabularData实例的TabularType定义计算的相同索引,则抛出描述失败的异常,并且不添加值元素,从而使这个TabularData实例保持不变。
putAll
在接口
TabularData
values
- 要作为新行添加到此TabularData实例的复合数据值数组;
如果值为 null或为空,则此方法返回而不做任何事情。
NullPointerException
- 如果
值的元素是
null
InvalidOpenTypeException
- 如果一个
值的元素不符合这个
TabularData实例的行类型定义(即它的
TabularType定义)
KeyAlreadyExistsException
- 如果根据这个
TabularData实例的
TabularType定义
计算的值元素的索引已经映射到此实例中的现有值,或两个
值的元素具有相同的索引
public void clear()
TabularDataSupport
实例中删除所有行。
public int size()
TabularDataSupport
实例中的行数。
public boolean isEmpty()
TabularDataSupport
实例不包含任何行,则返回
true 。
public Set<Object> keySet()
TabularDataSupport
实例的底层映射中包含的键的集视图。
包含在此的每个键Set
是一个不可修改List<?>
因此返回设置视图是Set<List<?>>
,但被声明为Set<Object>
兼容性的原因。
该集合由此TabularDataSupport
实例的底层映射支持,因此对该TabularDataSupport
更改将反映在TabularDataSupport
实例中,反之亦然。
该组支持元件移除,即从该相应的行TabularDataSupport
例如,经由Iterator.remove()
, Set.remove(java.lang.Object)
, Set.removeAll(java.util.Collection<?>)
, Set.retainAll(java.util.Collection<?>)
和Set.clear()
操作。
它不支持Set.add(E)
或Set.addAll(java.util.Collection<? extends E>)
操作。
public Collection<Object> values()
TabularDataSupport
实例中包含的行的集合视图。
返回Collection
是Collection<CompositeData>
,但被声明为Collection<Object>
兼容性的原因。
返回的集合可以用于迭代值。
该集合由底层映射支持,因此对TabularDataSupport
将反映在TabularDataSupport
实例中,反之亦然。
集合支持元素移除,从而消除了相应的索引到行从该映射TabularDataSupport
例如,经由Iterator.remove()
, Collection.remove(java.lang.Object)
, Collection.removeAll(java.util.Collection<?>)
, Collection.retainAll(java.util.Collection<?>)
和Collection.clear()
操作。
它不支持Collection.add(E)
或Collection.addAll(java.util.Collection<? extends E>)
操作。
public Set<Map.Entry<Object,Object>> entrySet()
TabularDataSupport
实例中TabularDataSupport
行映射索引的集合视图。
返回的集合中的每个元素是Map.Entry<List<?>,CompositeData>
,但被声明为Map.Entry<Object,Object>
兼容性的原因。
每个地图条目键是一个不可List<?>
。
该集合由此TabularDataSupport
实例的底层映射支持,因此对TabularDataSupport
中的更改将反映在TabularDataSupport
实例中,反之亦然。
该collection支持元素移除,即从映射中相应的映射,经由Iterator.remove()
, Collection.remove(java.lang.Object)
, Collection.removeAll(java.util.Collection<?>)
, Collection.retainAll(java.util.Collection<?>)
和Collection.clear()
操作。
它不支持Collection.add(E)
或Collection.addAll(java.util.Collection<? extends E>)
操作。
重要通知 :不要使用返回的集合视图中包含的Map.Entry
元素的setValue
方法。 这样做会损坏此TabularDataSupport
实例中TabularDataSupport
行映射的索引。
public Object clone()
TabularDataSupport
实例的克隆:通过调用super.clone()获取克隆,然后克隆底层地图。
仅生成底层地图的浅克隆,即不进行索引和行值的克隆,因为它们是不可变的。
public boolean equals(Object obj)
TabularDataSupport
实例进行比较以获得相等性。
返回true当且仅当以下所有语句都为真时:
TabularData
接口, TabularData
实现。
equals
在接口
Map<Object,Object>
equals
在接口
TabularData
equals
在
Object
类
obj
- 要与此
TabularDataSupport
实例相等的对象;
true
如果指定的对象等于这个
TabularDataSupport
实例。
Object.hashCode()
, HashMap
public int hashCode()
TabularDataSupport
实例的哈希码值。
一个的哈希码TabularDataSupport
实例中使用的所有信息元素的哈希码的总和equals
比较(即:它的表格类型和它的内容,其中内容被定义为所有的CompositeData值)。
这确保了t1.equals(t2)
意味着t1.hashCode()==t2.hashCode()
对于任何两个TabularDataSupport
实例t1
和t2
,所要求的方法的常规合同Object.hashCode()
。
但是,请注意,实现TabularData
接口的类的另一个实例可能与TabularDataSupport
定义的TabularDataSupport实例相同 ,但是如果不同的计算方式可能具有不同的哈希码。
hashCode
在接口
Map<Object,Object>
hashCode
在接口
TabularData
hashCode
在
Object
TabularDataSupport
实例的哈希码值
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
TabularDataSupport
实例的字符串表示形式。
字符串表示由此类的名称(即javax.management.openmbean.TabularDataSupport
),此实例的表格类型的字符串表示形式和内容的字符串表示形式(即列出通过调用返回的键=值映射dataMap. toString()
) 。
toString
在接口
TabularData
toString
在
Object
类
TabularDataSupport
实例的字符串表示形式