The interface for report functions. A report function separates the business logic from presentation of the result. The function is called whenever JFreeReport changes its state while generating the report. The working model for the functions is based on cloning the state of the function on certain checkpoints to support the ReportState implementation of JFreeReport.
Although functions support the ReportListener interface, they are not directly added to a report. A report FunctionCollection is used to control the functions. Functions are required to be cloneable.
@author Thomas Morgner