- All Known Implementing Classes:
TabularDataSupport
public interface TabularData
The
TabularData interface specifies the behavior of a specific type of complex open data objects
which represent tabular data structures.- Since:
- 1.5
-
Method Summary
Modifier and Type Method Description Object[]calculateIndex(CompositeData value)Calculates the index that would be used in thisTabularDatainstance to refer to the specified composite data value parameter if it were added to this instance.voidclear()Removes allCompositeDatavalues (ie rows) from thisTabularDatainstance.booleancontainsKey(Object[] key)Returnstrueif and only if thisTabularDatainstance contains aCompositeDatavalue (ie a row) whose index is the specified key.booleancontainsValue(CompositeData value)Returnstrueif and only if thisTabularDatainstance contains the specifiedCompositeDatavalue.booleanequals(Object obj)Compares the specified obj parameter with thisTabularDatainstance for equality.CompositeDataget(Object[] key)Returns theCompositeDatavalue whose index is key, ornullif there is no value mapping to key, in thisTabularDatainstance.TabularTypegetTabularType()Returns the tabular type describing thisTabularDatainstance.inthashCode()Returns the hash code value for thisTabularDatainstance.booleanisEmpty()Returnstrueif the number ofCompositeDatavalues (ie the number of rows) contained in thisTabularDatainstance is zero.Set<?>keySet()Returns a set view of the keys (ie the index values) of theCompositeDatavalues (ie the rows) contained in thisTabularDatainstance.voidput(CompositeData value)Adds value to thisTabularDatainstance.voidputAll(CompositeData[] values)Add all the elements in values to thisTabularDatainstance.CompositeDataremove(Object[] key)Removes theCompositeDatavalue whose index is key from thisTabularDatainstance, and returns the removed value, or returnsnullif there is no value whose index is key.intsize()Returns the number ofCompositeDatavalues (ie the number of rows) contained in thisTabularDatainstance.StringtoString()Returns a string representation of thisTabularDatainstance.Collection<?>values()Returns a collection view of theCompositeDatavalues (ie the rows) contained in thisTabularDatainstance.
-
Method Details
-
getTabularType
TabularType getTabularType()Returns the tabular type describing thisTabularDatainstance.- Returns:
- the tabular type.
-
calculateIndex
Calculates the index that would be used in thisTabularDatainstance to refer to the specified composite data value parameter if it were added to this instance. This method checks for the type validity of the specified value, but does not check if the calculated index is already used to refer to a value in thisTabularDatainstance.- Parameters:
value- the composite data value whose index in thisTabularDatainstance is to be calculated; must be of the same composite type as this instance's row type; must not be null.- Returns:
- the index that the specified value would have in this
TabularDatainstance. - Throws:
NullPointerException- if value isnullInvalidOpenTypeException- if value does not conform to thisTabularDatainstance's row type definition.
-
size
int size()Returns the number ofCompositeDatavalues (ie the number of rows) contained in thisTabularDatainstance.- Returns:
- the number of values contained.
-
isEmpty
boolean isEmpty()Returnstrueif the number ofCompositeDatavalues (ie the number of rows) contained in thisTabularDatainstance is zero.- Returns:
- true if this
TabularDatais empty.
-
containsKey
Returnstrueif and only if thisTabularDatainstance contains aCompositeDatavalue (ie a row) whose index is the specified key. If key isnullor does not conform to thisTabularDatainstance'sTabularTypedefinition, this method simply returnsfalse.- Parameters:
key- the index value whose presence in thisTabularDatainstance is to be tested.- Returns:
trueif thisTabularDataindexes a row value with the specified key.
-
containsValue
Returnstrueif and only if thisTabularDatainstance contains the specifiedCompositeDatavalue. If value isnullor does not conform to thisTabularDatainstance's row type definition, this method simply returnsfalse.- Parameters:
value- the row value whose presence in thisTabularDatainstance is to be tested.- Returns:
trueif thisTabularDatainstance contains the specified row value.
-
get
Returns theCompositeDatavalue whose index is key, ornullif there is no value mapping to key, in thisTabularDatainstance.- Parameters:
key- the key of the row to return.- Returns:
- the value corresponding to key.
- Throws:
NullPointerException- if the key isnullInvalidKeyException- if the key does not conform to thisTabularDatainstance's *TabularTypedefinition
-
put
Adds value to thisTabularDatainstance. The composite type of value must be the same as this instance's row type (ie the composite type returned bythis.getTabularType().), and there must not already be an existing value in thisgetRowType()TabularDatainstance whose index is the same as the one calculated for the value to be added. The index for value is calculated according to thisTabularDatainstance'sTabularTypedefinition (seeTabularType.).getIndexNames()- Parameters:
value- the composite data value to be added as a new row to thisTabularDatainstance; must be of the same composite type as this instance's row type; must not be null.- Throws:
NullPointerException- if value isnullInvalidOpenTypeException- if value does not conform to thisTabularDatainstance's row type definition.KeyAlreadyExistsException- if the index for value, calculated according to thisTabularDatainstance'sTabularTypedefinition already maps to an existing value in the underlying HashMap.
-
remove
Removes theCompositeDatavalue whose index is key from thisTabularDatainstance, and returns the removed value, or returnsnullif there is no value whose index is key.- Parameters:
key- the index of the value to get in thisTabularDatainstance; must be valid with thisTabularDatainstance's row type definition; must not be null.- Returns:
- previous value associated with specified key, or
nullif there was no mapping for key. - Throws:
NullPointerException- if the key isnullInvalidKeyException- if the key does not conform to thisTabularDatainstance'sTabularTypedefinition
-
putAll
Add all the elements in values to thisTabularDatainstance. If any element in values does not satisfy the constraints defined input, or if any two elements in values have the same index calculated according to thisTabularDatainstance'sTabularTypedefinition, then an exception describing the failure is thrown and no element of values is added, thus leaving thisTabularDatainstance unchanged.- Parameters:
values- the array of composite data values to be added as new rows to thisTabularDatainstance; if values isnullor empty, this method returns without doing anything.- Throws:
NullPointerException- if an element of values isnullInvalidOpenTypeException- if an element of values does not conform to thisTabularDatainstance's row type definitionKeyAlreadyExistsException- if the index for an element of values, calculated according to thisTabularDatainstance'sTabularTypedefinition already maps to an existing value in this instance, or two elements of values have the same index.
-
clear
void clear()Removes allCompositeDatavalues (ie rows) from thisTabularDatainstance. -
keySet
Set<?> keySet()Returns a set view of the keys (ie the index values) of theCompositeDatavalues (ie the rows) contained in thisTabularDatainstance. The returnedSetis aSet<List<?>>but is declared as aSet<?>for compatibility reasons. The returned set can be used to iterate over the keys.- Returns:
- a set view (
Set<List<?>>) of the index values used in thisTabularDatainstance.
-
values
Collection<?> values()Returns a collection view of theCompositeDatavalues (ie the rows) contained in thisTabularDatainstance. The returnedCollectionis aCollection<CompositeData>but is declared as aCollection<?>for compatibility reasons. The returned collection can be used to iterate over the values.- Returns:
- a collection view (
Collection<CompositeData>) of the rows contained in thisTabularDatainstance.
-
equals
Compares the specified obj parameter with thisTabularDatainstance for equality.Returns
trueif and only if all of the following statements are true:- obj is non null,
- obj also implements the
TabularDatainterface, - their row types are equal
- their contents (ie index to value mappings) are equal
equalsmethod works properly for obj parameters which are different implementations of theTabularDatainterface.
- Overrides:
equalsin classObject- Parameters:
obj- the object to be compared for equality with thisTabularDatainstance;- Returns:
trueif the specified object is equal to thisTabularDatainstance.- See Also:
Object.hashCode(),HashMap
-
hashCode
int hashCode()Returns the hash code value for thisTabularDatainstance.The hash code of a
TabularDatainstance is the sum of the hash codes of all elements of information used inequalscomparisons (ie: its tabular type and its content, where the content is defined as all the index to value mappings).This ensures that
t1.equals(t2)implies thatt1.hashCode()==t2.hashCode()for any twoTabularDataSupportinstancest1andt2, as required by the general contract of the methodObject.hashCode().- Overrides:
hashCodein classObject- Returns:
- the hash code value for this
TabularDataSupportinstance - See Also:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
toString
String toString()Returns a string representation of thisTabularDatainstance.The string representation consists of the name of the implementing class, and the tabular type of this instance.
-