public abstract class ElementLayoutController extends java.lang.Object implements LayoutController
| Modifier and Type | Class and Description |
|---|---|
protected static class |
ElementLayoutController.ElementPrecomputeKey |
| Modifier and Type | Field and Description |
|---|---|
static int |
FINISHED |
static int |
FINISHING |
static int |
NOT_STARTED |
static int |
OPENED |
static int |
WAITING_FOR_JOIN |
| Modifier | Constructor and Description |
|---|---|
protected |
ElementLayoutController() |
| Modifier and Type | Method and Description |
|---|---|
LayoutController |
advance(ReportTarget target)
Advances the layout controller to the next state.
|
java.lang.Object |
clone()
Creates a copy of this layout controller.
|
protected org.jfree.layouting.util.AttributeMap |
computeAttributes(FlowController fc,
Element element,
ReportTarget target) |
LayoutController |
createPrecomputeInstance(FlowController fc)
Derives a copy of this controller that is suitable to perform a
precomputation.
|
protected LayoutController |
finishElement(ReportTarget target)
Finishes the processing of this element.
|
org.jfree.layouting.util.AttributeMap |
getAttributeMap() |
Element |
getElement() |
int |
getExpressionsCount() |
FlowController |
getFlowController() |
int |
getIterationCount() |
java.lang.Object |
getNode() |
LayoutController |
getParent()
Retrieves the parent of this layout controller.
|
int |
getProcessingState() |
protected FlowController |
handleDefaultEndElement(ReportTarget target) |
void |
initialize(java.lang.Object node,
FlowController flowController,
LayoutController parent)
Initializes the layout controller.
|
boolean |
isAdvanceable()
Checks, whether the layout controller would be advanceable.
|
boolean |
isPrecomputing() |
protected FlowController |
performElementPrecomputation(Expression[] expressions,
FlowController fc) |
protected abstract LayoutController |
processContent(ReportTarget target)
Processes any content in this element.
|
void |
setFlowController(FlowController flowController) |
void |
setParent(LayoutController parent) |
void |
setProcessingState(int processingState) |
protected FlowController |
startData(ReportTarget target,
FlowController fc) |
protected LayoutController |
startElement(ReportTarget target)
This method is called for each newly instantiated layout controller.
|
java.lang.String |
toString() |
protected FlowController |
tryRepeatingCommit(FlowController fc) |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitjoinpublic static final int NOT_STARTED
public static final int OPENED
public static final int WAITING_FOR_JOIN
public static final int FINISHING
public static final int FINISHED
public java.lang.String toString()
toString in class java.lang.Objectpublic LayoutController getParent()
getParent in interface LayoutControllernull if there is no
parent.public void initialize(java.lang.Object node,
FlowController flowController,
LayoutController parent)
throws DataSourceException,
ReportDataFactoryException,
ReportProcessingException
initialize in interface LayoutControllernode - the currently processed object or layout node.flowController - the current flow controller.parent - the parent layout controller that was responsible for
instantiating this controller.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.public final LayoutController advance(ReportTarget target) throws DataSourceException, ReportProcessingException, ReportDataFactoryException
advance in interface LayoutControllertarget - the report target that receives generated events.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 LayoutController startElement(ReportTarget target) throws DataSourceException, ReportProcessingException, ReportDataFactoryException
target - the report target that receives generated events.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.public org.jfree.layouting.util.AttributeMap getAttributeMap()
public int getExpressionsCount()
public int getIterationCount()
protected FlowController startData(ReportTarget target, FlowController fc) throws DataSourceException, ReportProcessingException, ReportDataFactoryException
protected org.jfree.layouting.util.AttributeMap computeAttributes(FlowController fc, Element element, ReportTarget target) throws DataSourceException
DataSourceExceptionprotected abstract LayoutController processContent(ReportTarget target) throws DataSourceException, ReportProcessingException, ReportDataFactoryException
target - the report target that receives generated events.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 LayoutController finishElement(ReportTarget target) throws ReportProcessingException, DataSourceException, ReportDataFactoryException
target - the report target that receives generated events.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.protected FlowController handleDefaultEndElement(ReportTarget target) throws ReportProcessingException, DataSourceException, ReportDataFactoryException
public boolean isAdvanceable()
LayoutControllerisAdvanceable in interface LayoutControllerpublic Element getElement()
public FlowController getFlowController()
getFlowController in interface LayoutControllerpublic int getProcessingState()
public void setProcessingState(int processingState)
public void setFlowController(FlowController flowController)
public void setParent(LayoutController parent)
public java.lang.Object clone()
LayoutControllerclone in interface LayoutControllerclone in class java.lang.Objectpublic boolean isPrecomputing()
protected FlowController performElementPrecomputation(Expression[] expressions, FlowController fc) throws ReportProcessingException, ReportDataFactoryException, DataSourceException
protected FlowController tryRepeatingCommit(FlowController fc) throws DataSourceException
DataSourceExceptionpublic LayoutController createPrecomputeInstance(FlowController fc)
createPrecomputeInstance in interface LayoutControllerfc - public java.lang.Object getNode()
getNode in interface LayoutController