Main classes in the JFreeReport class library.
See: Description
Interface Summary | |
---|---|
DataFlags | A DataFlags object is an immutable wrapper around a value read from the datarow. |
DataRow | This is the base interface for all data access collectors. |
DataSet | A dataset is a one-dimensional collection of data items. |
ReportData | A report data source is a ordered set of rows. |
ReportDataFactory | The report data-factory is responsible for querying the data from arbitary datasources. |
Class Summary | |
---|---|
DataSourceException | Creation-Date: 19.02.2006, 16:58:35 |
EmptyReportData | Creation-Date: 22.04.2006, 14:25:04 |
EmptyReportDataFactory | Creation-Date: 17.11.2006, 16:51:01 |
EmptyReportException | The EmptyReportException is thrown, it the report processing generated no content. |
JFreeReport | A JFreeReport instance is used as report template to define the visual layout of a report and to collect all data sources for the reporting. |
JFreeReportBoot | An utility class to safely boot and initialize the JFreeReport library. |
JFreeReportCoreModule | The CoreModule is used to represent the base classes of JFreeReport in a PackageManager-compatible way. |
JFreeReportInfo | Details about the JFreeReport project. |
ReportConfigurationException | Creation-Date: 02.12.2006, 14:51:42 |
ReportDataFactoryException | Creation-Date: 19.02.2006, 17:45:38 |
ReportException | Creation-Date: 02.12.2006, 14:52:08 |
ReportInterruptedException | This exception is thrown when the current thread received the Interrupt-signal while the report is beeing processed. |
ReportProcessingException | An exception that can be thrown during report processing, if an error occurs. |
TableReportData | Creation-Date: 19.02.2006, 17:00:10 |
TableReportDataFactory | Creation-Date: 21.02.2006, 17:59:32 |
Some rules when working with the report definition objects:
A group is a set of database rows, where the contents of the group fields are equal for all rows.
Lets look at the following table:
Car | Color | Price |
---|---|---|
Toyota | blue | 10.000 |
Toyota | blue | 20.000 |
Toyota | red | 15.000 |
Lexus | blue | 25.000 |
Lexus | yellow | 15.000 |
BMW | yellow | 40.000 |
BMW | blue | 35.000 |
BMW | green | 5.000 |
Groups are always defined on sorted tables. A group is defined by selecting one or more rows, which should form the group. A group instance will contain all rows from the beginning of the group until one of the group fields changes.
Lets select the row car for our group:
Selecting that row as group argument will result in 3 group instances. The first group instance will contain the first 3 rows (as the contents of these rows are equal).
The next instance will contain all rows of the "Lexus" car and the last group contains all rows from the "BMW" rows.
If a group is defined by more than one field, then the group will end, if one of the group member fields changes.
Lets define a group which consists of "Car" and "Color".
The first instance of the group will contain the first 2 rows (Toyota,blue). Then the value in the column "Color" changes, so a new group instance is started. This new group contains a single row, as the column "Car" in the next row will contain a different value.
The next two group instances are "Lexus, blue" and "Lexus, yellow", both group instances contain 1 row, as the color changes after 1 row.
The next row starts a new group, as the column "Car" contains a different value (BWM instead of Lexus). It doesn't matter, that the color is still equal, to end a group instance, it is sufficient that one column value changed.