com.azalient.api.file
Interface Table

All Superinterfaces:
ITable, ITableType
All Known Subinterfaces:
IMatrix, IPastableStore<I>, IStore<I>, ResultsTable, TableR, TableRW, TableW, TableXV
All Known Implementing Classes:
AbstractResultsTable, AbstractTable, AbstractTableR, AbstractTableRW, AbstractTableW, ResultsTableAdapter

public interface Table
extends ITable

This interface is passed to a parser to allow data to be read or written There can be several tables per page The file reader and writer know nothing about the type of the table or the objects within it - they know only the primitive type of the data in the page.


Method Summary
 void destroy()
          Called when the table is no longer required, to discard references held in the table, for example to the parent page
 int headerRows()
          The number of header rows in this table.
 Class[] keyTypes()
          The type and number of key columns in this table.
 
Methods inherited from interface com.azalient.api.a.tables.ITable
page, pageName
 
Methods inherited from interface com.azalient.api.a.tables.ITableType
colNameObjects, pageType, tableName
 

Method Detail

headerRows

int headerRows()
The number of header rows in this table. Must be at least one, but can be more.


keyTypes

Class[] keyTypes()
The type and number of key columns in this table. There must be at least one key column, and exactly one is common, but it may be more.

If you create a table/object definition with more than one key column, and the uniqueness of the name depends on the key columns after the first, then the name() function should return a concatenation of the key column objects otherwise the lookup() function will fail, the objects which have the same first column value but differ in the others will not be added to the store, as they will appear to be duplicate entries.

See TypeObject.keyString(Object[])

See IRecord.name()


destroy

void destroy()
Called when the table is no longer required, to discard references held in the table, for example to the parent page

Internal - Not recommended for use. Public as a side-effect of implementation method