Class AbstractRenderer
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.layout.AbstractRenderer
-
- Direct Known Subclasses:
FlowRenderer
,PageableRenderer
,StreamingRenderer
public abstract class AbstractRenderer extends Object implements Renderer
The LayoutSystem is a simplified version of the LibLayout-rendering system.- Author:
- Thomas Morgner
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.pentaho.reporting.engine.classic.core.layout.Renderer
Renderer.LayoutResult, Renderer.SectionType
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractRenderer(OutputProcessor outputProcessor)
-
Method Summary
-
-
-
Constructor Detail
-
AbstractRenderer
protected AbstractRenderer(OutputProcessor outputProcessor)
-
-
Method Detail
-
initialize
protected void initialize()
-
createRenderModelBuilder
protected ReportRenderModelBuilder createRenderModelBuilder()
-
createComponentFactory
protected RenderComponentFactory createComponentFactory()
-
getNormalFlowLayoutModelBuilder
public LayoutModelBuilder getNormalFlowLayoutModelBuilder()
- Specified by:
getNormalFlowLayoutModelBuilder
in interfaceRenderer
-
getPageCount
public int getPageCount()
- Specified by:
getPageCount
in interfaceRenderer
-
getRenderModelBuilder
protected RenderModelBuilder getRenderModelBuilder()
-
getPageBox
protected LogicalPageBox getPageBox()
-
isSafeToStore
public boolean isSafeToStore()
- Specified by:
isSafeToStore
in interfaceRenderer
-
getMetaData
protected OutputProcessorMetaData getMetaData()
-
setStateKey
public void setStateKey(ReportStateKey stateKey)
- Specified by:
setStateKey
in interfaceRenderer
-
getOutputProcessor
public OutputProcessor getOutputProcessor()
- Specified by:
getOutputProcessor
in interfaceRenderer
-
isWidowOrphanDefinitionsEncountered
protected boolean isWidowOrphanDefinitionsEncountered()
-
startReport
public void startReport(ReportDefinition report, ProcessingContext processingContext, PerformanceMonitorContext performanceMonitorContext)
- Specified by:
startReport
in interfaceRenderer
-
initializeRendererOnStartReport
protected void initializeRendererOnStartReport(ProcessingContext processingContext)
-
startSubReport
public void startSubReport(ReportDefinition report, InstanceID insertationPoint)
- Specified by:
startSubReport
in interfaceRenderer
-
startGroup
public void startGroup(Group group, Integer predictedStateCount)
- Specified by:
startGroup
in interfaceRenderer
-
startGroupBody
public void startGroupBody(GroupBody groupBody, Integer predictedStateCount)
- Specified by:
startGroupBody
in interfaceRenderer
-
startSection
public void startSection(Renderer.SectionType type)
- Specified by:
startSection
in interfaceRenderer
-
endSection
public InlineSubreportMarker[] endSection()
- Specified by:
endSection
in interfaceRenderer
-
endGroupBody
public void endGroupBody()
- Specified by:
endGroupBody
in interfaceRenderer
-
endSubReport
public void endSubReport()
- Specified by:
endSubReport
in interfaceRenderer
-
addEmptyRootLevelBand
public void addEmptyRootLevelBand() throws ReportProcessingException
- Specified by:
addEmptyRootLevelBand
in interfaceRenderer
- Throws:
ReportProcessingException
-
addProgressBox
public void addProgressBox() throws ReportProcessingException
- Specified by:
addProgressBox
in interfaceRenderer
- Throws:
ReportProcessingException
-
add
public void add(Band band, ExpressionRuntime runtime) throws ReportProcessingException
- Specified by:
add
in interfaceRenderer
- Throws:
ReportProcessingException
-
addToNormalFlow
public void addToNormalFlow(Band band, ExpressionRuntime runtime) throws ReportProcessingException
- Throws:
ReportProcessingException
-
validatePages
public Renderer.LayoutResult validatePages() throws ContentProcessingException
- Specified by:
validatePages
in interfaceRenderer
- Throws:
ContentProcessingException
-
preparePagination
protected boolean preparePagination(LogicalPageBox pageBox)
-
clearDirty
protected void clearDirty()
-
isPageFinished
protected abstract boolean isPageFinished()
-
processIncrementalUpdate
public void processIncrementalUpdate(boolean performOutput) throws ContentProcessingException
- Specified by:
processIncrementalUpdate
in interfaceRenderer
- Throws:
ContentProcessingException
-
processPage
public boolean processPage(LayoutPagebreakHandler handler, Object commitMarker, boolean performOutput) throws ContentProcessingException
- Specified by:
processPage
in interfaceRenderer
- Throws:
ContentProcessingException
-
performPagination
protected abstract boolean performPagination(LayoutPagebreakHandler handler, boolean performOutput) throws ContentProcessingException
- Throws:
ContentProcessingException
-
debugPrint
protected void debugPrint(LogicalPageBox pageBox)
A hook to allow easier debugging.- Parameters:
pageBox
- the current page box.
-
getLastStateKey
public ReportStateKey getLastStateKey()
- Specified by:
getLastStateKey
in interfaceRenderer
-
setLastStateKey
protected void setLastStateKey(ReportStateKey lastStateKey)
-
setPagebreaks
protected void setPagebreaks(int pagebreaks)
-
getPagebreaks
public int getPagebreaks()
- Specified by:
getPagebreaks
in interfaceRenderer
-
deriveForStorage
public Renderer deriveForStorage()
- Specified by:
deriveForStorage
in interfaceRenderer
-
deriveForPagebreak
public Renderer deriveForPagebreak()
- Specified by:
deriveForPagebreak
in interfaceRenderer
-
performParanoidModelCheck
public void performParanoidModelCheck()
-
clone
public Object clone() throws CloneNotSupportedException
- Specified by:
clone
in interfaceRenderer
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
addPagebreak
public void addPagebreak()
- Specified by:
addPagebreak
in interfaceRenderer
-
clearPendingPageStart
public boolean clearPendingPageStart(LayoutPagebreakHandler layoutPagebreakHandler)
- Specified by:
clearPendingPageStart
in interfaceRenderer
-
isCurrentPageEmpty
public boolean isCurrentPageEmpty()
- Specified by:
isCurrentPageEmpty
in interfaceRenderer
-
isPageStartPending
public boolean isPageStartPending()
- Specified by:
isPageStartPending
in interfaceRenderer
-
isDirty
public boolean isDirty()
-
createRollbackInformation
public void createRollbackInformation()
- Specified by:
createRollbackInformation
in interfaceRenderer
-
applyRollbackInformation
public void applyRollbackInformation()
- Specified by:
applyRollbackInformation
in interfaceRenderer
-
validateAfterCommit
public void validateAfterCommit()
-
applyAutoCommit
public void applyAutoCommit()
- Specified by:
applyAutoCommit
in interfaceRenderer
-
isPendingPageHack
public boolean isPendingPageHack()
- Specified by:
isPendingPageHack
in interfaceRenderer
-
markDirty
protected void markDirty()
-
newPageStarted
public void newPageStarted()
- Specified by:
newPageStarted
in interfaceRenderer
-
printLayoutStateToFile
public void printLayoutStateToFile(ProcessState state, boolean print, boolean rollback)
This is a debug helper function. It is not used in normal report runs. It helps debug layouter states and the roll-back system by dumping all layouts into a directory on the file system for automated diffs.- Parameters:
state
-print
-rollback
-
-
getValidateStopWatch
protected org.pentaho.reporting.libraries.base.util.PerformanceLoggingStopWatch getValidateStopWatch()
-
getPaginateStopWatch
protected org.pentaho.reporting.libraries.base.util.PerformanceLoggingStopWatch getPaginateStopWatch()
-
getPerformanceMonitorContext
protected PerformanceMonitorContext getPerformanceMonitorContext()
-
close
protected void close()
-
-