org.jfree.report.modules.misc.autotable.flow

Class AutoTableLayoutController

Implemented Interfaces:
Cloneable, LayoutController

public class AutoTableLayoutController
extends ElementLayoutController

Creation-Date: Dec 9, 2006, 6:05:58 PM
Author:
Thomas Morgner

Nested Class Summary

Nested classes/interfaces inherited from class org.jfree.report.flow.layoutprocessor.ElementLayoutController

ElementLayoutController.ElementPrecomputeKey

Field Summary

static int
HANDLING_DATA
static int
HANDLING_FOOTER
static int
HANDLING_HEADER

Fields inherited from class org.jfree.report.flow.layoutprocessor.ElementLayoutController

FINISHED, FINISHING, NOT_STARTED, OPENED, WAITING_FOR_JOIN

Constructor Summary

AutoTableLayoutController()

Method Summary

int
getCurrentColumn()
void
initialize(Object node, FlowController flowController, LayoutController parent)
Initializes the layout controller.
LayoutController
join(FlowController flowController)
Joins with a delegated process flow.
protected LayoutController
processContent(ReportTarget target)
Processes any content in this element.

Methods inherited from class org.jfree.report.flow.layoutprocessor.ElementLayoutController

advance, clone, computeAttributes, createPrecomputeInstance, finishElement, getAttributeMap, getElement, getExpressionsCount, getFlowController, getIterationCount, getNode, getParent, getProcessingState, handleDefaultEndElement, initialize, isAdvanceable, isPrecomputing, performElementPrecomputation, processContent, setFlowController, setParent, setProcessingState, startData, startElement, toString, tryRepeatingCommit

Field Details

HANDLING_DATA

public static final int HANDLING_DATA
Field Value:
1

HANDLING_FOOTER

public static final int HANDLING_FOOTER
Field Value:
2

HANDLING_HEADER

public static final int HANDLING_HEADER
Field Value:
0

Constructor Details

AutoTableLayoutController

public AutoTableLayoutController()

Method Details

getCurrentColumn

public int getCurrentColumn()

initialize

public void initialize(Object node,
                       FlowController flowController,
                       LayoutController parent)
            throws DataSourceException,
                   ReportDataFactoryException,
                   ReportProcessingException
Initializes the layout controller. This method is called exactly once. It is the creators responsibility to call this method.

Calling initialize after the first advance must result in a IllegalStateException.

Specified by:
initialize in interface LayoutController
Overrides:
initialize in interface ElementLayoutController
Parameters:
node - the currently processed object or layout node.
flowController - the current flow controller.
parent - the parent layout controller that was responsible for instantiating this controller.
Throws:
DataSourceException - if there was a problem reading data from the datasource.
ReportProcessingException - if there was a general problem during the report processing.
ReportDataFactoryException - if a query failed.

join

public LayoutController join(FlowController flowController)
Joins with a delegated process flow. This is generally called from a child flow and should *not* (I mean it!) be called from outside. If you do, you'll suffer.
Specified by:
join in interface LayoutController
Parameters:
flowController - the flow controller of the parent.
Returns:
the joined layout controller that incorperates all changes from the delegate.

processContent

protected LayoutController processContent(ReportTarget target)
            throws DataSourceException,
                   ReportProcessingException,
                   ReportDataFactoryException
Processes any content in this element. This method is called when the processing state is 'OPENED'. The returned layout controller will retain the 'OPENED' state as long as there is more content available. Once all content has been processed, the returned layout controller should carry a 'FINISHED' state.
Overrides:
processContent in interface ElementLayoutController
Parameters:
target - the report target that receives generated events.
Returns:
the new layout controller instance representing the new state.
Throws:
DataSourceException - if there was a problem reading data from the datasource.
ReportProcessingException - if there was a general problem during the report processing.
ReportDataFactoryException - if a query failed.