org.jfree.report.flow.layoutprocessor
Interface LayoutController
- Cloneable
- AbstractLayoutController, AutoTableItemLayoutController, AutoTableLayoutController, BufferingLayoutController, ContentElementLayoutController, ElementLayoutController, ReportLayoutController, SectionLayoutController, StaticTextLayoutController, SubReportLayoutController
The layout controller iterates over the report layout. It uses a flow
controller to query the data.
clone
public Object clone()
Creates a copy of this layout controller.
createPrecomputeInstance
public LayoutController createPrecomputeInstance(FlowController fc)
Derives a copy of this controller that is suitable to perform a
precomputation. The returned layout controller must be independent from
the it's anchestor controller.
fc
- a new flow controller for the precomputation.
- a copy that is suitable for precomputation.
getParent
public LayoutController getParent()
Retrieves the parent of this layout controller. This allows childs to query
their context.
- the layout controller's parent to
null
if there is no
parent.
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.
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.
isAdvanceable
public boolean isAdvanceable()
Checks, whether the layout controller would be advanceable. If this method
returns true, it is generally safe to call the 'advance()' method.
- true, if the layout controller is advanceable, false otherwise.