- 所有已知的实现类:
-
TabularDataSupport
public interface TabularData
TabularData
接口指定了表示表格数据结构的特定类型复杂开放数据对象的行为。
- 自:
- 1.5
-
Method Summary
Modifier and TypeMethodDescriptionObject[]
calculateIndex
(CompositeData value) 计算在将指定的复合数据value参数添加到此实例时,将在此TabularData
实例中使用的索引。void
clear()
从此TabularData
实例中删除所有CompositeData
值(即行)。boolean
containsKey
(Object[] key) 当且仅当此TabularData
实例包含索引为指定key的CompositeData
值(即行)时,返回true
。boolean
containsValue
(CompositeData value) 当且仅当此TabularData
实例包含指定的CompositeData
值时,返回true
。boolean
将指定的obj参数与此TabularData
实例进行比较,以确定是否相等。返回索引为key的CompositeData
值,如果在此TabularData
实例中没有映射到key的值,则返回null
。返回描述此TabularData
实例的表格类型。int
hashCode()
返回此TabularData
实例的哈希码值。boolean
isEmpty()
当且仅当此TabularData
实例中包含的CompositeData
值(即行数)为零时,返回true
。Set
<?> keySet()
返回此TabularData
实例中包含的CompositeData
值(即行)的键(即索引值)的集合视图。void
put
(CompositeData value) 将value添加到此TabularData
实例。void
putAll
(CompositeData[] values) 将values中的所有元素添加到此TabularData
实例。从此TabularData
实例中删除索引为key的CompositeData
值(即行),并返回已删除的值;如果没有索引为key的值,则返回null
。int
size()
返回此TabularData
实例中包含的CompositeData
值(即行数)的数量。toString()
返回此TabularData
实例的字符串表示形式。Collection
<?> values()
返回此TabularData
实例中包含的CompositeData
值(即行)的集合视图。
-
Method Details
-
getTabularType
TabularType getTabularType()返回描述此TabularData
实例的表格类型。- 返回:
- 表格类型。
-
calculateIndex
计算在将指定的复合数据value参数添加到此实例时,将在此TabularData
实例中使用的索引。此方法检查指定value的类型有效性,但不检查计算的索引是否已用于引用此TabularData
实例中的值。- 参数:
-
value
- 要计算其在此TabularData
实例中的索引的复合数据值;必须与此实例的行类型相同;不得为null。 - 返回:
-
指定value在此
TabularData
实例中将具有的索引。 - 抛出:
-
NullPointerException
- 如果value为null
-
InvalidOpenTypeException
- 如果value不符合此TabularData
实例的行类型定义。
-
size
int size()返回此TabularData
实例中包含的CompositeData
值(即行数)的数量。- 返回:
- 包含的值的数量。
-
isEmpty
boolean isEmpty()当且仅当此TabularData
实例中包含的CompositeData
值(即行数)为零时,返回true
。- 返回:
-
如果此
TabularData
为空,则返回true
。
-
containsKey
当且仅当此TabularData
实例包含索引为指定key的CompositeData
值(即行)时,返回true
。如果key为null
或不符合此TabularData
实例的TabularType
定义,则此方法简单地返回false
。- 参数:
-
key
- 要测试其在此TabularData
实例中是否存在的索引值。 - 返回:
-
如果此
TabularData
索引具有指定键的行值,则返回true
。
-
containsValue
当且仅当此TabularData
实例包含指定的CompositeData
值时,返回true
。如果value为null
或不符合此TabularData
实例的行类型定义,则此方法简单地返回false
。- 参数:
-
value
- 要测试其在此TabularData
实例中是否存在的行值。 - 返回:
-
如果此
TabularData
实例包含指定的行值,则返回true
。
-
get
返回索引为key的CompositeData
值,如果在此TabularData
实例中没有映射到key的值,则返回null
。- 参数:
-
key
- 要返回其行的键。 - 返回:
- 与key对应的值。
- 抛出:
-
NullPointerException
- 如果key为null
-
InvalidKeyException
- 如果key不符合此TabularData
实例的TabularType
定义
-
put
将value添加到此TabularData
实例。 value的复合类型必须与此实例的行类型相同(即由this.getTabularType().
返回的复合类型),并且在此getRowType()
TabularData
实例中的索引与为要添加的value计算的索引相同的现有值不得存在。 value的索引根据此TabularData
实例的TabularType
定义计算(参见TabularType.
)。getIndexNames()
- 参数:
-
value
- 要作为新行添加到此TabularData
实例的复合数据值;必须与此实例的行类型相同;不得为null。 - 抛出:
-
NullPointerException
- 如果value为null
-
InvalidOpenTypeException
- 如果value不符合此TabularData
实例的行类型定义。 -
KeyAlreadyExistsException
- 如果根据此TabularData
实例的TabularType
定义计算的value的索引已经映射到底层HashMap中的现有值。
-
remove
从此TabularData
实例中删除索引为key的CompositeData
值(即行),并返回已删除的值;如果没有索引为key的值,则返回null
。- 参数:
-
key
- 要在此TabularData
实例中获取的值的索引;必须符合此TabularData
实例的行类型定义;不得为null。 - 返回:
-
与指定键关联的先前值,如果没有为键映射,则返回
null
。 - 抛出:
-
NullPointerException
- 如果key为null
-
InvalidKeyException
- 如果key不符合此TabularData
实例的TabularType
定义
-
putAll
将values中的所有元素添加到此TabularData
实例。 如果values中的任何元素不满足put
中定义的约束,或者如果values中的任何两个元素根据此TabularData
实例的TabularType
定义计算的索引相同,则会抛出描述失败的异常,并且不会添加values的任何元素,从而使此TabularData
实例保持不变。- 参数:
-
values
- 要作为新行添加到此TabularData
实例中的复合数据值数组;如果values为null
或为空,则此方法返回而不执行任何操作。 - 抛出:
-
NullPointerException
- 如果values的元素为null
-
InvalidOpenTypeException
- 如果values的元素不符合此TabularData
实例的行类型定义 -
KeyAlreadyExistsException
- 如果values的元素的索引,根据此TabularData
实例的TabularType
定义计算,已经映射到此实例中的现有值,或者values的两个元素具有相同的索引。
-
clear
void clear()从此TabularData
实例中删除所有CompositeData
值(即行)。 -
keySet
Set<?> keySet()返回包含在此TabularData
实例中的CompositeData
值(即行)的键(即索引值)的集合视图。返回的Set
是一个Set<List<?>>
,但为了兼容性原因声明为Set<?>
。返回的集合可以用于遍历键。- 返回:
-
包含在此
TabularData
实例中使用的索引值的集合视图(Set<List<?>>
)。
-
values
Collection<?> values()返回包含在此TabularData
实例中的CompositeData
值(即行)的集合视图。返回的Collection
是一个Collection<CompositeData>
,但为了兼容性原因声明为Collection<?>
。返回的集合可以用于遍历值。- 返回:
-
包含在此
TabularData
实例中的行的集合视图(Collection<CompositeData>
)。
-
equals
将指定的obj参数与此TabularData
实例进行比较以检查是否相等。仅当以下所有语句都为真时,返回
true
:- obj不为null,
- obj还实现了
TabularData
接口, - 它们的行类型相等,
- 它们的内容(即索引到值的映射)相等。
TabularData
接口的obj参数,此equals
方法能正常工作。
-
hashCode
int hashCode()返回此TabularData
实例的哈希码值。TabularData
实例的哈希码是用于equals
比较的所有信息元素的哈希码之和(即:其tabular type和其内容,其中内容定义为所有索引到值的映射)。这确保了对于任何两个
TabularDataSupport
实例t1
和t2
,t1.equals(t2)
意味着t1.hashCode()==t2.hashCode()
,符合方法Object.hashCode()
的一般契约要求。 -
toString
String toString()返回此TabularData
实例的字符串表示形式。字符串表示形式包括实现类的名称和此实例的表类型。
-