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, wait
join
public 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.Object
public LayoutController getParent()
getParent
in interface LayoutController
null
if there is no
parent.public void initialize(java.lang.Object node, FlowController flowController, LayoutController parent) throws DataSourceException, ReportDataFactoryException, ReportProcessingException
initialize
in interface LayoutController
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.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 LayoutController
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 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
DataSourceException
protected 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()
LayoutController
isAdvanceable
in interface LayoutController
public Element getElement()
public FlowController getFlowController()
getFlowController
in interface LayoutController
public int getProcessingState()
public void setProcessingState(int processingState)
public void setFlowController(FlowController flowController)
public void setParent(LayoutController parent)
public java.lang.Object clone()
LayoutController
clone
in interface LayoutController
clone
in class java.lang.Object
public boolean isPrecomputing()
protected FlowController performElementPrecomputation(Expression[] expressions, FlowController fc) throws ReportProcessingException, ReportDataFactoryException, DataSourceException
protected FlowController tryRepeatingCommit(FlowController fc) throws DataSourceException
DataSourceException
public LayoutController createPrecomputeInstance(FlowController fc)
createPrecomputeInstance
in interface LayoutController
fc
- public java.lang.Object getNode()
getNode
in interface LayoutController