org.pentaho.reporting.engine.classic.core.layout
Class FlowRenderer

java.lang.Object
  extended by org.pentaho.reporting.engine.classic.core.layout.AbstractRenderer
      extended by org.pentaho.reporting.engine.classic.core.layout.FlowRenderer
All Implemented Interfaces:
Cloneable, Renderer

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
 
Field Summary
 
Fields inherited from interface org.pentaho.reporting.engine.classic.core.layout.Renderer
TYPE_FOOTER, TYPE_HEADER, TYPE_NORMALFLOW, TYPE_REPEATED_FOOTER, TYPE_WATERMARK
 
Constructor Summary
FlowRenderer(OutputProcessor outputProcessor)
           
 
Method Summary
 boolean clearPendingPageStart(LayoutPagebreakHandler layoutPagebreakHandler)
           
 int getPageCount()
           
 boolean isCurrentPageEmpty()
           
 boolean isPageStartPending()
           
 void processIncrementalUpdate(boolean performOutput)
           
 void startReport(ReportDefinition report)
           
 
Methods inherited from class org.pentaho.reporting.engine.classic.core.layout.AbstractRenderer
add, add, addEmptyRootLevelBand, addPagebreak, applyAutoCommit, applyRollbackInformation, clone, createBufferedLayoutBuilder, createRollbackInformation, deriveForPagebreak, deriveForStorage, endGroup, endGroupBody, endReport, endSection, endSubReport, getLastStateKey, getOutputProcessor, getPagebreaks, getStateKey, isDirty, isOpen, isPendingPageHack, isSafeToStore, isValid, newPageStarted, performParanoidModelCheck, print, processPage, rollback, setLastStateKey, setStateKey, startGroup, startGroupBody, startSection, startSubReport, validateAfterCommit, validatePages
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlowRenderer

public FlowRenderer(OutputProcessor outputProcessor)
Method Detail

startReport

public void startReport(ReportDefinition report)
Specified by:
startReport in interface Renderer
Overrides:
startReport in class AbstractRenderer

processIncrementalUpdate

public void processIncrementalUpdate(boolean performOutput)
                              throws ContentProcessingException
Specified by:
processIncrementalUpdate in interface Renderer
Overrides:
processIncrementalUpdate in class AbstractRenderer
Throws:
ContentProcessingException

getPageCount

public int getPageCount()

isCurrentPageEmpty

public boolean isCurrentPageEmpty()
Specified by:
isCurrentPageEmpty in interface Renderer
Overrides:
isCurrentPageEmpty in class AbstractRenderer

clearPendingPageStart

public boolean clearPendingPageStart(LayoutPagebreakHandler layoutPagebreakHandler)
Specified by:
clearPendingPageStart in interface Renderer
Overrides:
clearPendingPageStart in class AbstractRenderer

isPageStartPending

public boolean isPageStartPending()
Specified by:
isPageStartPending in interface Renderer
Overrides:
isPageStartPending in class AbstractRenderer