Interface OutputFunction
-
- All Superinterfaces:
Cloneable
,EventListener
,Expression
,Function
,ReportListener
,Serializable
- All Known Implementing Classes:
CSVWriter
,DefaultOutputFunction
,FastExportOutputFunction
,XMLWriter
public interface OutputFunction extends Function
A simple tagging interface for the transition from function-based layouting back to explicit layouting. Output functions are always considered internal information, so there is no way to write a report-processor that is not aware of the actual implementation of the output-function.- Author:
- Thomas Morgner
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
clearInlineSubreports(SubReportProcessType processType)
boolean
createRollbackInformation()
OutputFunction
deriveForPagebreak()
Creates a cheaper version of the deep-copy of the output function.OutputFunction
deriveForStorage()
Creates a storage-copy of the output function.InlineSubreportMarker[]
getInlineSubreports()
void
groupBodyFinished(ReportEvent event)
void
restart(ReportState state)
-
Methods inherited from interface org.pentaho.reporting.engine.classic.core.function.Expression
clone, getDataRow, getDependencyLevel, getInstance, getName, getReportConfiguration, getResourceBundleFactory, getRuntime, getValue, isActive, isDeepTraversing, isPreserve, setDependencyLevel, setName, setRuntime
-
Methods inherited from interface org.pentaho.reporting.engine.classic.core.event.ReportListener
groupFinished, groupStarted, itemsAdvanced, itemsFinished, itemsStarted, reportDone, reportFinished, reportInitialized, reportStarted, summaryRowSelection
-
-
-
-
Method Detail
-
deriveForStorage
OutputFunction deriveForStorage()
Creates a storage-copy of the output function. A storage copy must create a deep clone of all referenced objects so that it is guaranteed that changes to either the original or the clone do not affect the other instance. Any failure to implement this method correctly will be a great source of very subtle bugs.- Returns:
- the deep clone.
-
deriveForPagebreak
OutputFunction deriveForPagebreak()
Creates a cheaper version of the deep-copy of the output function. A pagebreak-derivate is created on every possible pagebreak position and must contain all undo/rollback information to restore the state of any shared object when a roll-back is requested. Any failure to implement this method correctly will be a great source of very subtle bugs.- Returns:
- the deep clone.
-
getInlineSubreports
InlineSubreportMarker[] getInlineSubreports()
-
clearInlineSubreports
void clearInlineSubreports(SubReportProcessType processType)
-
restart
void restart(ReportState state) throws ReportProcessingException
- Throws:
ReportProcessingException
-
createRollbackInformation
boolean createRollbackInformation()
-
groupBodyFinished
void groupBodyFinished(ReportEvent event)
-
-