Package org.jfree.report

Main classes in the JFreeReport class library.

See:
          Description

Interface Summary
DataRow The datarow is used to access the current row in the TableModel, Expressions and Functions using a generic interface.
ReportDefinition A report definition.
 

Class Summary
Band A report band is a collection which can contain other Report-Elements.
Boot An utility class to safely boot and initialize the JFreeReport library.
DefaultLogModule The module definition for the System.out-Logging.
DrawableContainer Wrapper for the drawable object, assigns content bounds and clipping bounds to the drawable.
DrawableElement The element returns a drawable container.
Element Base class for all report elements (display items that can appear within a report band).
ElementAlignment Represents the alignment of an element.
Group A report group.
GroupFooter A band that appears at the end of each instance of a group.
GroupHeader A report band that appears at the beginning of each instance of a group.
GroupList The group list is used to store groups in a ordered way.
ImageElement Used to draw images (Gif, JPEG, PNG or wmf) on a report band.
ImageReference An image reference encapsulates the source of an image together with a java.awt.Image.
ItemBand A report band that displays a row of data items.
JFreeReport This class co-ordinates the process of generating a report from a TableModel.
JFreeReportCoreModule The CoreModule is used to represent the base classes of JFreeReport in a PackageManager-compatible way.
JFreeReportInfo Details about the JFreeReport project.
PageFooter A report band that appears at the bottom of every page.
PageHeader A report band used to print information at the top of every page in the report.
ReportBuilderHints The report builder hints can be used to store extra information for an JFreeReport instance.
ReportBuilderHints.ParserHintKey The parser hint key is a compound key to combine a string key name with an arbitary target object.
ReportFooter A report band that appears as the very last band on the report.
ReportHeader A report band that is printed once only at the beginning of the report.
ShapeElement Used to draw shapes (typically lines and boxes) on a report band.
TextElement The base class for all elements that display text in a report band.
Watermark A report band used to print information at the background of every page in the report.
 

Exception Summary
EmptyReportException The EmptyReportException is thrown, it the report processing generated no content.
ReportEventException The ReportEventException is thrown, if there were unrecoverable exceptions during the report processing.
ReportInitialisationException An exception that is thrown when a report fails to initialise.
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.
 

Package org.jfree.report Description

Main classes in the JFreeReport class library.

Some rules when working with the report definition objects:

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:

CarColorPrice
Toyotablue10.000
Toyotablue20.000
Toyotared15.000
Lexusblue25.000
Lexusyellow15.000
BMWyellow40.000
BMWblue35.000
BMWgreen5.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.