java.lang.Object javax.management.openmbean.TabularDataSupport
public class TabularDataSupport
TabularDataSupport 类是实现 TabularData 和 Map 接口的开放数据 类,并且在内部它是基于哈希映射数据结构的。
嵌套类摘要 |
---|
从接口 java.util.Map 继承的嵌套类/接口 |
---|
Map.Entry<K,V> |
构造方法摘要 | |
---|---|
TabularDataSupport(TabularType tabularType) 创建一个空 TabularDataSupport 实例,其开放类型是 tabularType,并且它的基础 HashMap 具有默认初始容量 (101) 和默认加载因子 (0.75)。 |
|
TabularDataSupport(TabularType tabularType, int initialCapacity, float loadFactor) 创建一个空 TabularDataSupport 实例,其开放类型为 tabularType,它的基础 HashMap 具有指定的初始容量和加载因子。 |
方法摘要 | |
---|---|
Object[] |
calculateIndex(CompositeData value) 计算将在此 TabularData 实例中使用的索引,以便在指定的复合数据 value 参数添加到此实例后引用该参数。 |
void |
clear() 从此 TabularDataSupport 实例中移除所有行。 |
Object |
clone() 返回此 TabularDataSupport 实例的一个副本:通过调用 super.clone(),然后副本此基础映射,即可得到该副本。 |
boolean |
containsKey(Object key) 当且仅当此 TabularData 实例包含索引为指定 key 的 CompositeData 值(即行)时,才返回 true。 |
boolean |
containsKey(Object[] key) 当且仅当此 TabularData 实例包含索引为指定 key 的 CompositeData 值(即行)时,才返回 true。 |
boolean |
containsValue(CompositeData value) 当且仅当此 TabularData 实例包含指定的 CompositeData 值时才返回 true。 |
boolean |
containsValue(Object value) 当且仅当此 TabularData 实例包含指定的值时,才返回 true。 |
Set<Map.Entry<Object,Object>> |
entrySet() 返回此 TabularDataSupport 实例中包含的行映射的索引的 collection 视图。 |
boolean |
equals(Object obj) 比较指定的 obj 参数与此 TabularDataSupport 实例的相等性。 |
Object |
get(Object key) 此方法仅调用 get((Object[]) key)。 |
CompositeData |
get(Object[] key) 返回此 TabularData 实例中索引为 key 的 CompositeData 值,如果没有映射到 key 的值,则返回 null。 |
TabularType |
getTabularType() 返回描述此 TabularData 实例的表格类型。 |
int |
hashCode() 返回此 TabularDataSupport 实例的哈希码值。 |
boolean |
isEmpty() 如果此 TabularDataSupport 实例不包含任何行,则返回 true。 |
Set<Object> |
keySet() 返回包含在此 TabularDataSupport 实例的基础映射中的键的 set 视图,并用于索引行。 |
void |
put(CompositeData value) 将 value 添加到此 TabularData 实例。 |
Object |
put(Object key, Object value) 此方法仅调用 put((CompositeData) value),因此忽略其可能为 null 的 key 参数。 |
void |
putAll(CompositeData[] values) 将 values 中的所有元素添加到此 TabularData 实例。 |
void |
putAll(Map<?,?> t) 将包含在指定映射 t 中的所有值添加到此 TabularData 实例。 |
Object |
remove(Object key) 此方法仅调用 remove((Object[]) key)。 |
CompositeData |
remove(Object[] key) 从此 TabularData 实例中移除索引为 key 的 CompositeData 值,并返回被移除的值,如果不存在索引为 key 的值,则返回 null。 |
int |
size() 返回此 TabularDataSupport 实例中的行数。 |
String |
toString() 返回此 TabularDataSupport 实例的字符串表示形式。 |
Collection<Object> |
values() 返回包含在此 TabularDataSupport 实例中的行的 collection 视图。 |
从类 java.lang.Object 继承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public TabularDataSupport(TabularType tabularType)
此构造方法仅调用 this(tabularType, 101, 0.75f);
tabularType
- 描述此
TabularData 实例的
表格类型;不可以为 null。
IllegalArgumentException
- 如果表格类型为 null。
public TabularDataSupport(TabularType tabularType, int initialCapacity, float loadFactor)
tabularType
- 描述此
TabularData 实例的
表格类型;不可以为 null。
initialCapacity
- HashMap 的初始容量。
loadFactor
- HashMap 的加载因子
IllegalArgumentException
- 如果初始容量小于零或者加载因子为非正数,或者表格类型为 null。
方法详细信息 |
---|
public TabularType getTabularType()
TabularData
中的
getTabularType
public Object[] calculateIndex(CompositeData value)
TabularData
中的
calculateIndex
value
- 要计算其在此
TabularData 实例中的索引的复合数据值;必须是与此实例的行类型相同的复合类型;而且不可以为 null。
NullPointerException
- 如果
value 为
null。
InvalidOpenTypeException
- 如果
value 不符合此
TabularData 实例的行类型定义。
public boolean containsKey(Object key)
Map<Object,Object>
中的
containsKey
key
- 将测试其是否存在于此
TabularData 实例中的索引值。
public boolean containsKey(Object[] key)
TabularData
中的
containsKey
key
- 将测试其是否存在于此
TabularData 实例中的索引值。
public boolean containsValue(CompositeData value)
TabularData
中的
containsValue
value
- 将测试其是否存在于此
TabularData 实例中的行值。
public boolean containsValue(Object value)
Map<Object,Object>
中的
containsValue
value
- 将测试其是否存在于此
TabularData 实例中的行值。
public Object get(Object key)
key
- 要返回其关联值的键
null
NullPointerException
- 如果
key 为
null
ClassCastException
- 如果
key 不属于
Object[] 类型
InvalidKeyException
- 如果
key 不符合此
TabularData 实例的
TabularType 定义。
public CompositeData get(Object[] key)
TabularData
中的
get
key
- 要获取的此
TabularData 实例中值的索引;*必须对此
TabularData 实例的行类型定义有效;*并且不可以为 null。
NullPointerException
- 如果
key 为
null
InvalidKeyException
- 如果
key 不符合此
TabularData 实例的
TabularType 类型定义。
public Object put(Object key, Object value)
key
- 被忽略的参数。
value
- 要放入的
CompositeData
。
NullPointerException
- 如果
value 为
null
ClassCastException
- 如果
value 不属于
CompositeData 类型
InvalidOpenTypeException
- 如果
value 不符合此
TabularData 实例的
TabularType 定义
KeyAlreadyExistsException
- 如果根据此
TabularData 实例的
TabularType 定义计算的
value 参数的键已经映射到一个现有的值。
public void put(CompositeData value)
TabularData
复制的描述
getRowType()
返回的复合类型)相同,并且此
TabularData 实例中现有值的索引不能与要添加的
value 计算的索引相同。
value 的索引是根据此
TabularData 实例的
TabularType 定义计算的(请参见
TabularType.getIndexNames()
)。
TabularData
中的
put
value
- 要作为新行添加到此
TabularData 实例中的复合数据值;必须是与此实例的行类型相同的复合类型;并且不可以为 null。
public Object remove(Object key)
key
- 表示要移除键的
Object[]。
NullPointerException
- 如果
key 为
null
ClassCastException
- 如果
key 不属于
Object[] 类型
InvalidKeyException
- 如果
key 不符合此
TabularData 实例的
TabularType 定义。
public CompositeData remove(Object[] key)
TabularData
中的
remove
key
- 要获取的此
TabularData 实例中值的索引;必须对此
TabularData 实例的行类型定义有效;并且不可以为 null。
NullPointerException
- 如果
key 为
null
InvalidKeyException
- 如果
key 不符合此
TabularData 实例的
TabularType 定义
public void putAll(Map<?,?> t)
t
- 其值作为新行添加到此
TabularData 实例中的映射;如果
t 为
null 或空,则此方法直接返回而不执行任何操作。
NullPointerException
- 如果
t 中的值为
null。
ClassCastException
- 如果
t 中的值不是
CompositeData 的实例。
InvalidOpenTypeException
- 如果
t 中的值不符合此
TabularData 实例的行类型定义。
KeyAlreadyExistsException
- 如果根据此
TabularData 实例的
TabularType 定义计算的
t 中的值的索引已经映射到此实例中现有的值,或者
t 中的两个值具有相同的索引。
public void putAll(CompositeData[] values)
put
中定义的约束,或者
values 中的任何两个元素具有相同的索引,则抛出一个描述失败的异常,并且不添加
values 的任何元素,因此,此
TabularData 实例保持不变。
TabularData
中的
putAll
values
- 作为新行添加到此
TabularData 实例的复合数据值的数组;如果
values 为
null 或者为空,则此方法直接返回且不执行任何操作。
NullPointerException
- 如果
values 的一个元素为
null
InvalidOpenTypeException
- 如果
values 的某个元素不符合此
TabularData 实例的行类型定义(即其
TabularType 定义)
KeyAlreadyExistsException
- 如果根据此
TabularData 实例的
TabularType 定义计算的
values 的某个元素的索引已经映射到此实例中现有的值,或者
values 的两个元素具有相同的索引
public void clear()
public int size()
TabularDataSupport
实例中的行数。
TabularDatasupport
实例中的行数。
public boolean isEmpty()
TabularDataSupport
实例不包含任何行,则返回
true。
TabularDataSupport
实例不包含任何行,则返回
true。
public Set<Object> keySet()
TabularDataSupport
实例的基础映射中的键的 set 视图,并用于索引行。此
Set
中包含的每个键都是一个不可修改的
List<?>
。因此返回的 set 示图是一个
Set<List<?>>
,但出于兼容性原因被声明为
Set<Object>
。该 set 受此
TabularDataSupport
实例的基础映射支持,所以对
TabularDataSupport
实例的更改可在此 set 中反映出来,反之亦然。该 set 支持元素的移除,通过
Iterator.remove()
、
Set.remove(java.lang.Object)
、Set#removeAll、{@link Set#retainAll} 和 {@link Set#clear} 操作,从此 {@code TabularDataSupport} 实例中移除相应的行。它不支持 {@link Set#add} 或 {@link Set#addAll} 操作。
TabularDataSupport
实例的行进行索引的键的 set 视图 (
Set<List<?>>
)。
public Collection<Object> values()
TabularDataSupport
实例中的行的 collection 视图。返回的
Collection
是一个
Collection<CompositeData><?>>
,但出于兼容性原因被声明为
Collection<?>
。该 collection 受基础映射支持,所以对
TabularDataSupport
实例的更改可在此 collection 中反映出来,反之亦然。 该集合支持元素的移除,通过
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
)
操作。
TabularDataSupport
实例中包含的值的 collection 视图 (
Collection<CompositeData>
)。
public Set<Map.Entry<Object,Object>> entrySet()
TabularDataSupport
实例中包含的行映射的索引的 collection 视图。在返回的集合中,每个元素都是一个
Map.Entry<List<?>,CompositeData>
,但出于兼容性原因被声明为
Map.Entry<Object,Object>
。 每个映射项键都是一个不可修改的
List<?>
。该 collection 受此
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
)
操作。
重要注意事项:不要使用返回的 collection 视图中包含的 Map.Entry
元素的 setValue
方法。这样做会破坏此 TabularDataSupport
实例中包含的行映射的索引。
Set<Map.Entry<List<?>,CompositeData>>
)。
Map.Entry
public Object clone()
TabularDataSupport
实例的一个副本:通过调用
super.clone(),然后副本此基础映射,即可得到该副本。仅对此基础映射进行浅表复制,也就是说,由于索引和行值是不可改变的,因此不复制它们。
Cloneable
public boolean equals(Object obj)
TabularDataSupport
实例的相等性。
当且仅当下面的所有语句均为 true 时,才返回 true:
TabularData
接口TabularData
接口的不同实现的
obj 参数正常工作。