Class JRContinuationSubreportRunner

java.lang.Object
net.sf.jasperreports.engine.fill.JRSubreportRunnable
net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner
All Implemented Interfaces:
Runnable, JRSubreportRunner

public class JRContinuationSubreportRunner extends JRSubreportRunnable implements JRSubreportRunner
Implemetation of JRSubreportRunner using Javaflow continuations.
Author:
Lucian Chirita (lucianc@users.sourceforge.net)
  • Constructor Details

    • JRContinuationSubreportRunner

      public JRContinuationSubreportRunner(JRFillSubreport fillSubreport)
  • Method Details

    • isFilling

      public boolean isFilling()
      Description copied from interface: JRSubreportRunner
      Decides whether the subreport filling has ended or not.
      Specified by:
      isFilling in interface JRSubreportRunner
      Returns:
      true if and only if the subreport filling has not ended
    • start

      public JRSubreportRunResult start()
      Description copied from interface: JRSubreportRunner
      Starts to fill the subreport.

      This method is always called by a thread owning the lock on the subreport filler.

      Specified by:
      start in interface JRSubreportRunner
      Returns:
      the result of the fill process
    • resume

      public JRSubreportRunResult resume()
      Description copied from interface: JRSubreportRunner
      Resumes the filling of a subreport.

      This method is called after the fill has been suspended by suspend and the subreport should continue on the new page.

      This method is always called by a thread owning the lock on the subreport filler.

      Specified by:
      resume in interface JRSubreportRunner
      Returns:
      the result of the fill process
    • reset

      public void reset()
      Description copied from interface: JRSubreportRunner
      Resets the runner, preparing it for a new fill.
      Specified by:
      reset in interface JRSubreportRunner
    • cancel

      public void cancel()
      Description copied from interface: JRSubreportRunner
      Cancels the current fill process.

      This method is called when a subreport is placed on a non splitting band and needs to rewind.

      This method is always called by a thread owning the lock on the subreport filler.

      Specified by:
      cancel in interface JRSubreportRunner
    • suspend

      @continuable public void suspend()
      Description copied from interface: JRSubreportRunner
      Suspends the current fill.

      This method is called when the subreport reaches the end of a page and needs to wait for the master to create a new page.

      This method is always called by a thread owning the lock on the subreport filler.

      Specified by:
      suspend in interface JRSubreportRunner
    • abort

      public void abort()
      Description copied from interface: JRSubreportRunner
      Aborts the current fill.
      Specified by:
      abort in interface JRSubreportRunner