org.pentaho.reporting.engine.classic.core.layout.process
Class ApplyPageShiftValuesStep
java.lang.Object
org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep
org.pentaho.reporting.engine.classic.core.layout.process.ApplyPageShiftValuesStep
public final class ApplyPageShiftValuesStep
- extends IterateStructuralProcessStep
This processing step applies the cache shift to all nodes.
Paginated and processed boxes are based on shifted nodes that have been created/shifted by the PaginationStep. The
cached values of the nodes that come after these finished nodes are now invalid, as the cache-positions have been
stored *before* the pagination shift was applied.
Instead of simply invalidating the caches (which would be expensive), we patch the caches of these nodes and shift
them downwards so that the cache and the recomputation results will be in sync.
Without this correction (or the equivalent cache-invalidation), we would encounter lost content, as the finished node
and the cached content would overlap.
- Author:
- Thomas Morgner
ApplyPageShiftValuesStep
public ApplyPageShiftValuesStep()
compute
public void compute(LogicalPageBox logicalPageBox,
long shift,
InstanceID triggerId)
startCanvasBox
public boolean startCanvasBox(CanvasRenderBox box)