net.sf.jasperreports.engine.fill

## Interface JRSubreportRunner

- All Known Implementing Classes:
    AbstractThreadSubreportRunner, JRContinuationSubreportRunner, JRThreadSubreportRunner, ThreadExecutorSubreportRunner

      public interface JRSubreportRunner

  Subreport runner interface.
  Version:
    $Id: JRSubreportRunner.java 5878 2013-01-07 20:23:13Z teodord $
  Author:
    Lucian Chirita (lucianc@users.sourceforge.net)

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cancel()` Cancels the current fill process.
    `boolean` | `isFilling()` Decides whether the subreport filling has ended or not.
    `void` | `reset()` Resets the runner, preparing it for a new fill.
    `JRSubreportRunResult` | `resume()` Resumes the filling of a subreport.
    `JRSubreportRunResult` | `start()` Starts to fill the subreport.
    `void` | `suspend()` Suspends the current fill.

- - ### Method Detail

    - #### isFilling

          boolean isFilling()

      Decides whether the subreport filling has ended or not.
      Returns:
        `true` if and only if the subreport filling has not ended

    - #### start

          JRSubreportRunResult start()
                                     throws JRException

      Starts to fill the subreport.

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

      Returns:
        the result of the fill process
      Throws:
        `JRException`

    - #### resume

          JRSubreportRunResult resume()
                                      throws JRException

      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.

      Returns:
        the result of the fill process
      Throws:
        `JRException`

    - #### reset

          void reset()
                     throws JRException

      Resets the runner, preparing it for a new fill.
      Throws:
        `JRException`

    - #### cancel

          void cancel()
                      throws JRException

      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.

      Throws:
        `JRException`

    - #### suspend

          void suspend()
                       throws JRException

      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.

      Throws:
        `JRException`

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com