org.pentaho.reporting.engine.classic.core.layout.process
Class ApplyPageShiftValuesStep

java.lang.Object
  extended by org.pentaho.reporting.engine.classic.core.layout.process.IterateStructuralProcessStep
      extended by 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

Constructor Summary
ApplyPageShiftValuesStep()
           
 
Method Summary
 void compute(LogicalPageBox logicalPageBox, long shift, InstanceID triggerId)
           
 boolean startCanvasBox(CanvasRenderBox box)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApplyPageShiftValuesStep

public ApplyPageShiftValuesStep()
Method Detail

compute

public void compute(LogicalPageBox logicalPageBox,
                    long shift,
                    InstanceID triggerId)

startCanvasBox

public boolean startCanvasBox(CanvasRenderBox box)