Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.jfree.report.flow.layoutprocessor.ElementLayoutController
Nested Class Summary | |
protected static class |
Field Summary | |
static int | |
static int | |
static int | |
static int | |
static int |
Constructor Summary | |
Method Summary | |
LayoutController |
|
Object |
|
protected AttributeMap |
|
LayoutController |
|
protected LayoutController |
|
AttributeMap | |
Element | |
int | |
FlowController | |
int | |
Object |
|
LayoutController |
|
int | |
protected FlowController |
|
void |
|
boolean | |
boolean | |
protected FlowController |
|
protected abstract LayoutController |
|
void |
|
void |
|
void |
|
protected FlowController |
|
protected LayoutController |
|
String |
|
protected FlowController |
public final LayoutController advance(ReportTarget target) throws DataSourceException, ReportProcessingException, ReportDataFactoryException
Advances the layout controller to the next state. This method delegates the call to one of the following methods:
- Specified by:
- advance in interface LayoutController
- 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.
protected AttributeMap computeAttributes(FlowController fc, Element element, ReportTarget target) throws DataSourceException
public LayoutController createPrecomputeInstance(FlowController fc)
Derives a copy of this controller that is suitable to perform a precomputation.
- Specified by:
- createPrecomputeInstance in interface LayoutController
- Parameters:
fc
-
- Returns:
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'.
- 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.
public FlowController getFlowController()
- Specified by:
- getFlowController in interface LayoutController
public LayoutController getParent()
Retrieves the parent of this layout controller. This allows childs to query their context.
- Specified by:
- getParent in interface LayoutController
- Returns:
- the layout controller's parent to
null
if there is no parent.
protected FlowController handleDefaultEndElement(ReportTarget target) throws ReportProcessingException, DataSourceException, ReportDataFactoryException
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
- 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.
protected FlowController performElementPrecomputation(Expression[] expressions, FlowController fc) throws ReportProcessingException, ReportDataFactoryException, DataSourceException
protected abstract 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.
- 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.
protected FlowController startData(ReportTarget target, FlowController fc) throws DataSourceException, ReportProcessingException, ReportDataFactoryException
protected LayoutController startElement(ReportTarget target) throws DataSourceException, ReportProcessingException, ReportDataFactoryException
This method is called for each newly instantiated layout controller. The returned layout controller instance should have a processing state of either 'OPEN' or 'FINISHING' depending on whether there is any content or any child nodes to process.
- 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.
protected FlowController tryRepeatingCommit(FlowController fc) throws DataSourceException