Class AbstractThreadSubreportRunner

java.lang.Object
net.sf.jasperreports.engine.fill.JRSubreportRunnable
net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner
All Implemented Interfaces:
Runnable, JRSubreportRunner
Direct Known Subclasses:
JRThreadSubreportRunner, ThreadExecutorSubreportRunner

public abstract class AbstractThreadSubreportRunner extends JRSubreportRunnable implements JRSubreportRunner
Author:
Lucian Chirita (lucianc@users.sourceforge.net)
  • Field Details

    • EXCEPTION_MESSAGE_KEY_THREAD_REPORT_RUNNER_WAIT_ERROR

      public static final String EXCEPTION_MESSAGE_KEY_THREAD_REPORT_RUNNER_WAIT_ERROR
      See Also:
    • EXCEPTION_MESSAGE_KEY_THREAD_SUBREPORT_RUNNER_WAIT_ERROR

      public static final String EXCEPTION_MESSAGE_KEY_THREAD_SUBREPORT_RUNNER_WAIT_ERROR
      See Also:
    • subreportFiller

      protected final JRBaseFiller subreportFiller
  • Constructor Details

  • Method Details

    • 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
    • doStart

      protected abstract void doStart()
    • 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
    • waitResult

      protected JRSubreportRunResult waitResult()
    • cancel

      public void cancel() throws JRException
      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
      Throws:
      JRException
    • suspend

      public void suspend() throws JRException
      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
      Throws:
      JRException
    • run

      public void run()
      Specified by:
      run in interface Runnable
      Overrides:
      run in class JRSubreportRunnable
    • abort

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