org.jfree.report.flow.layoutprocessor
Class SectionLayoutController

java.lang.Object
  extended by org.jfree.report.flow.layoutprocessor.ElementLayoutController
      extended by org.jfree.report.flow.layoutprocessor.SectionLayoutController
All Implemented Interfaces:
java.lang.Cloneable, LayoutController
Direct Known 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, getAttributeMap, getElement, getExpressionsCount, getFlowController, getIterationCount, getNode, getParent, getProcessingState, handleDefaultEndElement, initialize, isAdvanceable, isPrecomputing, performElementPrecomputation, setFlowController, setParent, setProcessingState, startElement, toString, tryRepeatingCommit
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SectionLayoutController

public SectionLayoutController()
Method Detail

startData

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

processContent

protected LayoutController processContent(ReportTarget target)
                                   throws DataSourceException,
                                          ReportProcessingException,
                                          ReportDataFactoryException
Description copied from class: ElementLayoutController
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.

Specified by:
processContent in class 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.

processChild

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

isDisplayable

protected boolean isDisplayable(Node node)
                         throws DataSourceException
Throws:
DataSourceException

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 class 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.

resetSectionForRepeat

protected void resetSectionForRepeat()

finishData

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

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.

Parameters:
flowController - the flow controller of the parent.
Returns:
the joined layout controller that incorperates all changes from the delegate.

getNodes

public Node[] getNodes()

getIndex

public int getIndex()

setIndex

public void setIndex(int index)