| com.mckoi.database.TableDataSource
All known Subclasses: com.mckoi.database.Table,
TableDataSource | public interface TableDataSource (Code) | | This interface represents the source of data in a table. This is an
abstraction that is used to read data from within a table.
The entire contents of a table can be completely represented by
implementations of this interface.
author: Tobias Downer |
Method Summary | |
TObject | getCellContents(int column, int row) Returns an object that represents the information in the given cell
in the table. | SelectableScheme | getColumnScheme(int column) Returns the SelectableScheme that we use as an index for rows in the
given column of this source. | DataTableDef | getDataTableDef() Returns a DataTableDef object that defines the layout of the table that
this data is in. | int | getRowCount() Returns the number of rows in this data source.
NOTE: Returns 'n' - getCellContents(column, row) is not necessarily valid
for row = [0..n]. | TransactionSystem | getSystem() Returns the TransactionSystem object that describes global properties
about the data source that generated this object. | RowEnumeration | rowEnumeration() Returns an iterator that is used to sequentually step through all valid
rows in this source. |
getCellContents | TObject getCellContents(int column, int row)(Code) | | Returns an object that represents the information in the given cell
in the table. This may be an expensive operation, so calls to it
should be kept to a minimum. Note that the offset between two
rows is not necessarily 1. Use 'rowEnumeration' to create a row iterator.
|
getColumnScheme | SelectableScheme getColumnScheme(int column)(Code) | | Returns the SelectableScheme that we use as an index for rows in the
given column of this source. The SelectableScheme is used to determine
the relationship between cells in a column.
ISSUE: The scheme returned here should not have the 'insert' or 'remove'
methods called (ie. it should be considered immutable). Perhaps we
should make a MutableSelectableScheme interface to guarentee this
constraint.
|
getDataTableDef | DataTableDef getDataTableDef()(Code) | | Returns a DataTableDef object that defines the layout of the table that
this data is in.
This may return 'null' if there is no table definition.
|
getRowCount | int getRowCount()(Code) | | Returns the number of rows in this data source.
NOTE: Returns 'n' - getCellContents(column, row) is not necessarily valid
for row = [0..n]. Use 'rowEnumerator' to generate an iterator for valid
row values over this data source.
|
getSystem | TransactionSystem getSystem()(Code) | | Returns the TransactionSystem object that describes global properties
about the data source that generated this object.
|
rowEnumeration | RowEnumeration rowEnumeration()(Code) | | Returns an iterator that is used to sequentually step through all valid
rows in this source. The iterator is guarenteed to return exactly
'getRowCount' elements. The row elements returned by this iterator
are used in 'getCellContents' in the 'row' parameter.
Note that this object is only defined if entries in the table are not
added/remove during the lifetime of this iterator. If entries are added
or removed from the table while this iterator is open, then calls to
'nextRowIndex' will be undefined.
|
|
|