Interfaces and basic classes office reporting.

The main acces to generate a report is the {@link com.top_logic.reporting.office.ReportGenerator}. This singleton is used to process a report in three maior steps:

  1. request a report {@link com.top_logic.reporting.office.ReportGenerator#requestReport}
  2. check if the report is finished {@link com.top_logic.reporting.office.ReportGenerator#reportReady}
  3. get the report result {@link com.top_logic.reporting.office.ReportGenerator#getReportResult} if the report processing is finished

To identify a report in the chain of processing a {@link com.top_logic.reporting.office.ReportToken} is used.
The main interface to handle the real generation of a report is {@link com.top_logic.reporting.office.ReportHandler}. Implementations of this interface take care of the different specialties certain report require. For example the generation of a table with stylesheets in powerpoint is difficult to predict so the specific implementation of the report takes care of these tasks. For that purpose the generation of a report is handled also in a three step process in the ReportHandler:

  1. preparation
  2. processing
  3. finishing

For an example how this is done properly see the {@link com.top_logic.reporting.office.demo.PersonSlideReport} implementation of the interface.

The method chaining of the processReport method is illustrated for the PersonSlideReports implementation. The involved objects can be seen in the following collaboration diagram.