Node implementation of a table view. This node is used in the KNIME workflow
to display a DataTable, thus it has one inport and no outports.
In order to provide a reasonably fast view the key class of this package,
i.e. TableContentModel, uses a caching strategy that reads rows
from the DataTable on request and (ring-)buffers only the last
accessed sequence of rows. For further details refer to the description of
TableContentModel.
TableNodeFactory, TableNodeModel and
TableNodeView as they provide the usual node functionality.
TableContentModel is certainly the class containing most of
the functionality. It is the TableModel for the
TableContentView and has a reference to the
DataTable to be displayed. It contains the row cache and also
serves as the HiLiteListener (as it knows which rows it has
to care about). TableHeaderModel is also a class implementing
javax.swing.TableModel. It keeps a reference to its
TableContentModel and encapsulates the keys for each row in
the DataTable. Hence, it always has exactly one column. We had
to detach this model from the content model since the main view, i.e.
TableView displays the row head in separate panel.