Common base classes for the table style output targets.
The TableExports add several restrictions to the report layouts.
Report elements must not overlay each other. It is ok for bands, but the actual data must never overlap. Once a cell is occupied, it cannot be redefined to contain data from other elements. CellData cannot be combined.
Backgrounds can only be defined for the complete cell.
All table targets use a two step process to create the output. In the first step, the layout is computed and styles information is collected. The style information will later be reused to form cascading stylesheets or to fill the Excel style tables.
The public interface to perform a table export is contained in the class TableProcessor and their derived classes. Users will not have to worry about the internal details of the export process itself.
The usual report event sequence will trigger events on the TableWriter implementation. This implementation will perform the necessary global layout and generates the MetaElements, which represent an output target dependent layout result.
These MetaElements get forwared to an attached TableCreator, which either collects the table grid information or which uses previously collected grid data to finally build the output. The TableProcessor implementation is free to allow more than two process levels.
To define cell background, implementations must use the class TableCellBackground as base class.
TableTarget implementors have to provide at least a suitable MetaBandProducer and a tablecontent creator.