org.jfree.report.flow.layoutprocessor

Class SectionLayoutController

Implemented Interfaces:
Cloneable, LayoutController
Known Direct Subclasses:
ReportLayoutController, SubReportLayoutController

public class SectionLayoutController
extends ElementLayoutController

Creation-Date: 24.11.2006, 13:56:10
Author:
Thomas Morgner

Nested Class Summary

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

ElementLayoutController.ElementPrecomputeKey

Field Summary

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

FINISHED, FINISHING, NOT_STARTED, OPENED, WAITING_FOR_JOIN

Constructor Summary

SectionLayoutController()

Method Summary

protected FlowController
finishData(ReportTarget target, FlowController fc)
protected LayoutController
finishElement(ReportTarget target)
Finishes the processing of this element.
int
getIndex()
Node[]
getNodes()
protected boolean
isDisplayable(Node node)
LayoutController
join(FlowController flowController)
Joins with a delegated process flow.
protected LayoutController
processChild(SectionLayoutController derived, Node node, FlowController flowController)
protected LayoutController
processContent(ReportTarget target)
Processes any content in this element.
protected void
resetSectionForRepeat()
void
setIndex(int index)
protected FlowController
startData(ReportTarget target, FlowController fc)

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

Constructor Details

SectionLayoutController

public SectionLayoutController()

Method Details

finishData

protected FlowController finishData(ReportTarget target,
                                    FlowController fc)
            throws DataSourceException,
                   ReportProcessingException

finishElement

protected LayoutController finishElement(ReportTarget target)
            throws ReportProcessingException,
                   DataSourceException,
                   ReportDataFactoryException
Finishes the processing of this element. This method is called when the processing state is 'FINISHING'. The element should be closed now and all privatly owned resources should be freed. If the element has a parent, it would be time to join up with the parent now, else the processing state should be set to 'FINISHED'.
Overrides:
finishElement 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 there was an error trying query data.

getIndex

public int getIndex()

getNodes

public Node[] getNodes()

isDisplayable

protected boolean isDisplayable(Node node)
            throws DataSourceException

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.

processChild

protected LayoutController processChild(SectionLayoutController derived,
                                        Node node,
                                        FlowController flowController)
            throws DataSourceException,
                   ReportProcessingException,
                   ReportDataFactoryException

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.

resetSectionForRepeat

protected void resetSectionForRepeat()

setIndex

public void setIndex(int index)

startData

protected FlowController startData(ReportTarget target,
                                   FlowController fc)
            throws DataSourceException,
                   ReportProcessingException,
                   ReportDataFactoryException
Overrides:
startData in interface ElementLayoutController