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

java.lang.Object
  extended by org.jfree.report.flow.layoutprocessor.ElementLayoutController
      extended by org.jfree.report.modules.misc.autotable.flow.AutoTableLayoutController
All Implemented Interfaces:
java.lang.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(java.lang.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, isAdvanceable, isPrecomputing, performElementPrecomputation, setFlowController, setParent, setProcessingState, startData, startElement, toString, tryRepeatingCommit
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

HANDLING_HEADER

public static final int HANDLING_HEADER
See Also:
Constant Field Values

HANDLING_DATA

public static final int HANDLING_DATA
See Also:
Constant Field Values

HANDLING_FOOTER

public static final int HANDLING_FOOTER
See Also:
Constant Field Values
Constructor Detail

AutoTableLayoutController

public AutoTableLayoutController()
Method Detail

initialize

public void initialize(java.lang.Object node,
                       FlowController flowController,
                       LayoutController parent)
                throws DataSourceException,
                       ReportDataFactoryException,
                       ReportProcessingException
Description copied from class: ElementLayoutController
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 class 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.
ReportDataFactoryException - if a query failed.
ReportProcessingException - if there was a general problem during the report processing.

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.

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.

getCurrentColumn

public int getCurrentColumn()