this.getTabularType().{@link TabularType#getRowType
* getRowType()}
), and there must not already be an existing
* value in this {@code TabularData} instance whose index is the
* same as the one calculated for the value to be
* added. The index for value is calculated according
* to this {@code TabularData} instance's {@code TabularType}
* definition (see TabularType.{@link
* TabularType#getIndexNames getIndexNames()}
).
*
* @param value the composite data value to be added as a new row to this {@code TabularData} instance;
* must be of the same composite type as this instance's row type;
* must not be null.
*
* @throws NullPointerException if value is {@code null}
* @throws InvalidOpenTypeException if value does not conform to this {@code TabularData} instance's
* row type definition.
* @throws KeyAlreadyExistsException if the index for value, calculated according to
* this {@code TabularData} instance's {@code TabularType} definition
* already maps to an existing value in the underlying HashMap.
*/
public void put(CompositeData value) ;
/**
* Removes the {@code CompositeData} value whose index is key from this {@code TabularData} instance,
* and returns the removed value, or returns {@code null} if there is no value whose index is key.
*
* @param key the index of the value to get in this {@code TabularData} instance;
* must be valid with this {@code TabularData} instance's row type definition;
* must not be null.
*
* @return previous value associated with specified key, or {@code null}
* if there was no mapping for key.
*
* @throws NullPointerException if the key is {@code null}
* @throws InvalidKeyException if the key does not conform to this {@code TabularData} instance's
* {@code TabularType} definition
*/
public CompositeData remove(Object[] key) ;
/* *** Content modification bulk operations *** */
/**
* Add all the elements in values to this {@code TabularData} instance.
* If any element in values does not satisfy the constraints defined in {@link #put(CompositeData) put},
* or if any two elements in values have the same index calculated according to this {@code TabularData}
* instance's {@code TabularType} definition, then an exception describing the failure is thrown
* and no element of values is added, thus leaving this {@code TabularData} instance unchanged.
*
* @param values the array of composite data values to be added as new rows to this {@code TabularData} instance;
* if values is {@code null} or empty, this method returns without doing anything.
*
* @throws NullPointerException if an element of values is {@code null}
* @throws InvalidOpenTypeException if an element of values does not conform to
* this {@code TabularData} instance's row type definition
* @throws KeyAlreadyExistsException if the index for an element of values, calculated according to
* this {@code TabularData} instance's {@code TabularType} definition
* already maps to an existing value in this instance,
* or two elements of values have the same index.
*/
public void putAll(CompositeData[] values) ;
/**
* Removes all {@code CompositeData} values (ie rows) from this {@code TabularData} instance.
*/
public void clear();
/* *** Collection views of the keys and values *** */
/**
* Returns a set view of the keys (ie the index values) of the
* {@code CompositeData} values (ie the rows) contained in this
* {@code TabularData} instance. The returned {@code Set} is a
* {@code Set* Returns {@code true} if and only if all of the following statements are true: *
* The hash code of a {@code TabularData} instance is the sum of the hash codes * of all elements of information used in {@code equals} comparisons * (ie: its tabular type and its content, where the content is defined as all the index to value mappings). *
* This ensures that {@code t1.equals(t2)} implies that {@code t1.hashCode()==t2.hashCode()} * for any two {@code TabularDataSupport} instances {@code t1} and {@code t2}, * as required by the general contract of the method * {@link Object#hashCode() Object.hashCode()}. * * @return the hash code value for this {@code TabularDataSupport} instance */ public int hashCode(); /** * Returns a string representation of this {@code TabularData} instance. *
* The string representation consists of the name of the implementing class, * and the tabular type of this instance. * * @return a string representation of this {@code TabularData} instance */ public String toString(); }