Class FlowRenderer
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.layout.AbstractRenderer
-
- org.pentaho.reporting.engine.classic.core.layout.FlowRenderer
-
public class FlowRenderer extends AbstractRenderer
A flow renderer is a light-weight paginating renderer. It does not care about the page-size but searches for manual breaks. Once a manual break is encountered, the flow shifts and creates a page-event. (This is the behavior of the old table-exporters.) This implementation is a mix of a paginated and streaming renderer.- 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 Constructor Description FlowRenderer(OutputProcessor outputProcessor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
clearPendingPageStart(LayoutPagebreakHandler layoutPagebreakHandler)
protected void
close()
protected void
debugPrint(LogicalPageBox pageBox)
A hook to allow easier debugging.int
getPageCount()
protected void
initializeRendererOnStartReport(ProcessingContext processingContext)
boolean
isCurrentPageEmpty()
protected boolean
isPageFinished()
boolean
isPageStartPending()
protected boolean
performPagination(LayoutPagebreakHandler layoutPagebreakHandler, boolean performOutput)
void
processIncrementalUpdate(boolean performOutput)
void
startReport(ReportDefinition report, ProcessingContext processingContext, PerformanceMonitorContext performanceMonitorContext)
-
Methods inherited from class org.pentaho.reporting.engine.classic.core.layout.AbstractRenderer
add, addEmptyRootLevelBand, addPagebreak, addProgressBox, addToNormalFlow, applyAutoCommit, applyRollbackInformation, clearDirty, clone, createComponentFactory, createRenderModelBuilder, createRollbackInformation, deriveForPagebreak, deriveForStorage, endGroup, endGroupBody, endReport, endSection, endSubReport, getLastStateKey, getMetaData, getNormalFlowLayoutModelBuilder, getOutputProcessor, getPageBox, getPagebreaks, getPaginateStopWatch, getPerformanceMonitorContext, getRenderModelBuilder, getValidateStopWatch, initialize, isDirty, isOpen, isPendingPageHack, isSafeToStore, isValid, isWidowOrphanDefinitionsEncountered, markDirty, newPageStarted, performParanoidModelCheck, preparePagination, print, printLayoutStateToFile, processPage, rollback, setLastStateKey, setPagebreaks, setStateKey, startGroup, startGroupBody, startSection, startSubReport, validateAfterCommit, validatePages
-
-
-
-
Constructor Detail
-
FlowRenderer
public FlowRenderer(OutputProcessor outputProcessor)
-
-
Method Detail
-
isPageFinished
protected boolean isPageFinished()
- Specified by:
isPageFinished
in classAbstractRenderer
-
startReport
public void startReport(ReportDefinition report, ProcessingContext processingContext, PerformanceMonitorContext performanceMonitorContext)
- Specified by:
startReport
in interfaceRenderer
- Overrides:
startReport
in classAbstractRenderer
-
debugPrint
protected void debugPrint(LogicalPageBox pageBox)
Description copied from class:AbstractRenderer
A hook to allow easier debugging.- Overrides:
debugPrint
in classAbstractRenderer
- Parameters:
pageBox
- the current page box.
-
processIncrementalUpdate
public void processIncrementalUpdate(boolean performOutput) throws ContentProcessingException
- Specified by:
processIncrementalUpdate
in interfaceRenderer
- Overrides:
processIncrementalUpdate
in classAbstractRenderer
- Throws:
ContentProcessingException
-
performPagination
protected boolean performPagination(LayoutPagebreakHandler layoutPagebreakHandler, boolean performOutput) throws ContentProcessingException
- Specified by:
performPagination
in classAbstractRenderer
- Throws:
ContentProcessingException
-
getPageCount
public int getPageCount()
- Specified by:
getPageCount
in interfaceRenderer
- Overrides:
getPageCount
in classAbstractRenderer
-
isCurrentPageEmpty
public boolean isCurrentPageEmpty()
- Specified by:
isCurrentPageEmpty
in interfaceRenderer
- Overrides:
isCurrentPageEmpty
in classAbstractRenderer
-
clearPendingPageStart
public boolean clearPendingPageStart(LayoutPagebreakHandler layoutPagebreakHandler)
- Specified by:
clearPendingPageStart
in interfaceRenderer
- Overrides:
clearPendingPageStart
in classAbstractRenderer
-
isPageStartPending
public boolean isPageStartPending()
- Specified by:
isPageStartPending
in interfaceRenderer
- Overrides:
isPageStartPending
in classAbstractRenderer
-
initializeRendererOnStartReport
protected void initializeRendererOnStartReport(ProcessingContext processingContext)
- Overrides:
initializeRendererOnStartReport
in classAbstractRenderer
-
close
protected void close()
- Overrides:
close
in classAbstractRenderer
-
-