org.jfree.report |
Main classes in the JFreeReport class library.
Some rules when working with the report definition objects:
- Functions cannot be added to the report once the report generation has
started.
- Do not modify the report structure after the report
generation is started, unless you know exactly what you are doing.
- It is safe to modify the report definition before the report is
started.
- Once the report processing has started, the report from the report
processor must not be reused for other purposes.
Groups
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.
|
Java Source File Name | Type | Comment |
AbstractReportDefinition.java | Class | The AbstractReportDefinition serves as base-implementation for both the SubReport and the global JFreeReport
instance. |
AbstractRootLevelBand.java | Class | The root-level band is the container that is processed by a report-state. |
Anchor.java | Class | An anchor is a possible target for external hyperlinks.
In HTML anchors would be produced by using <a name="anchorname">. |
AnchorElement.java | Class | The anchor element creates targets for hyperlinks. |
Band.java | Class | A report band is a collection of other elements and bands, similiar to an AWT-Container. |
CustomPageDefinition.java | Class | A page definition, that consists of one or many pages. |
DataFactory.java | Interface | Creates a tablemodel on request. |
DataFlags.java | Interface | A DataFlags object is an immutable wrapper around a value read from the
datarow. |
DataRow.java | Interface | This is the base interface for all data access collectors. |
DataSet.java | Interface | A dataset is a one-dimensional collection of data items. |
DataSourceException.java | Class | |
DefaultImageReference.java | Class | An DefaultImageReference encapsulates the source of an image together with a java.awt.Image . |
DefaultResourceBundleFactory.java | Class | A default implementation of the ResourceBundleFactory, that creates resource bundles using the specified locale. |
DrawableElement.java | Class | The element that returns a drawable object. |
Element.java | Class | Base class for all report elements (displays items that can appear within a report band).
Elements can either be Bands (which are container classes that group elements) or content-elements. |
ElementAlignment.java | Class | Represents the alignment of an element. |
EmptyReportData.java | Class | |
EmptyReportDataFactory.java | Class | |
EmptyReportException.java | Class | The EmptyReportException is thrown, it the report processing generated no content. |
Group.java | Class | A report group. |
GroupFooter.java | Class | A band that appears at the end of each instance of a group. |
GroupHeader.java | Class | A report band that appears at the beginning of each instance of a group. |
GroupList.java | Class | The group list is used to store groups in a ordered way. |
ImageContainer.java | Interface | A image container stores all layout information to process images in a report.
The ImageContainer is the common base interface for the URLImageContainer (which references remote images) and the
LocalImageContainer (which references local AWT-Image instances).
All the layouting engine needs to know about images, are the image dimensions and the possible scale factor for the
contained image. |
ImageElement.java | Class | Used to draw images. |
InvalidReportStateException.java | Class | An exception that can be thrown during report processing, if an error occurs. |
ItemBand.java | Class | A report band that displays a row of data items. |
JFreeReport.java | Class | 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.java | Class | An utility class to safely boot and initialize the JFreeReport library. |
JFreeReportCoreModule.java | Class | The CoreModule is used to represent the base classes of JFreeReport in a
PackageManager-compatible way. |
JFreeReportInfo.java | Class | Details about the JFreeReport project. |
LocalImageContainer.java | Interface | The LocalImageContainer makes the image available as 'java.awt.Image' instance. |
NoDataBand.java | Class | The No-Data-Band is printed if the current report has no data in its main data-table. |
PageDefinition.java | Interface | A logical page definition for a report.
Page oriented reports use the page definition to distribute the content of one logical page to the physical pages.
The order of the physical pages in the page definition defines the content order in the generated documents.
Flow oriented reports will use the page-definitions width as default width for the layouting.
If a logical page is completly empty, it will be removed from the report and a pageCanceled event is fired. |
PageFooter.java | Class | A report band that appears at the bottom of every page. |
PageHeader.java | Class | A report band used to print information at the top of every page in the report. |
ParameterDataRow.java | Class | A static data row that reads its values from a report properties collection. |
ParameterMapping.java | Class | A parameter mapping defines an aliasing rule for incoming and outgoing
sub-report parameters. |
ReportConfigurationException.java | Class | |
ReportData.java | Interface | A report data source is a ordered set of rows. |
ReportDataFactory.java | Interface | The report data-factory is responsible for querying the data from arbitary
datasources. |
ReportDataFactoryException.java | Class | |
ReportDefinition.java | Interface | A report definition. |
ReportEventException.java | Class | The ReportEventException is thrown, if there were unrecoverable exceptions during the
report processing. |
ReportException.java | Class | |
ReportFooter.java | Class | A report band that appears as the very last band on the report.
Note that if there is a page footer on the last page of your report, it will be printed
below the report footer, the logic being that the page footer *always* appears at the
bottom of the page. |
ReportHeader.java | Class | A report band that is printed once only at the beginning of the report.
A flag can be set forcing the report generator to start a new page after printing the
report header.
Note that if there is a page header on the first page of your report, it will be
printed above the report header, the logic being that the page header *always* appears
at the top of the page. |
ReportInitialisationException.java | Class | An exception that is thrown when a report fails to initialise. |
ReportInterruptedException.java | Class | This exception is thrown when the current thread received the Interrupt-signal while
the report is beeing processed. |
ReportProcessingException.java | Class | An exception that can be thrown during report processing, if an error occurs. |
ResourceBundleFactory.java | Interface | A resource bundle factory defines the locale for a report and is used to create resourcebundles. |
RootLevelBand.java | Interface | A RootLevelBand is directly connected with a report definition or a group. |
ShapeElement.java | Class | Used to draw shapes (typically lines and boxes) on a report band. |
SimplePageDefinition.java | Class | A simple page definition defines a logical page, for which all physical pages have the same size. |
SubReport.java | Class | A subreport element. |
TableDataFactory.java | Class | The TableDataFactory provides keyed access to predefined tablemodels. |
TableReportData.java | Class | |
TableReportDataFactory.java | Class | |
TextElement.java | Class | The base class for all elements that display text in a report band.
All content is converted to String using the String.valueOf () method. |
URLImageContainer.java | Interface | An image container, that references a remote image. |
Watermark.java | Class | A report band used to print information at the background of every page in the report. |