Class AsyncJasperPrintAccessor

java.lang.Object
net.sf.jasperreports.web.servlets.AsyncJasperPrintAccessor
All Implemented Interfaces:
AsynchronousFilllListener, FillListener, JasperPrintAccessor

public class AsyncJasperPrintAccessor extends Object implements JasperPrintAccessor, AsynchronousFilllListener, FillListener
Generated report accessor used for asynchronous report executions that publishes pages before the entire report has been generated.
Author:
Lucian Chirita (lucianc@users.sourceforge.net)
  • Field Details

    • EXCEPTION_MESSAGE_KEY_LOCK_ATTEMPT_INTERRUPTED

      public static final String EXCEPTION_MESSAGE_KEY_LOCK_ATTEMPT_INTERRUPTED
      See Also:
    • EXCEPTION_MESSAGE_KEY_NO_JASPERPRINT_GENERATED

      public static final String EXCEPTION_MESSAGE_KEY_NO_JASPERPRINT_GENERATED
      See Also:
    • EXCEPTION_MESSAGE_KEY_REPORT_GENERATION_CANCELLED

      public static final String EXCEPTION_MESSAGE_KEY_REPORT_GENERATION_CANCELLED
      See Also:
    • EXCEPTION_MESSAGE_KEY_ASYNC_REPORT_GENERATION_ERROR

      public static final String EXCEPTION_MESSAGE_KEY_ASYNC_REPORT_GENERATION_ERROR
      See Also:
  • Constructor Details

    • AsyncJasperPrintAccessor

      public AsyncJasperPrintAccessor(FillHandle fillHandle)
      Create a report accessor.
      Parameters:
      fillHandle - the asynchronous fill handle used by this accessor
  • Method Details

    • lock

      protected void lock()
    • unlock

      protected void unlock()
    • pageStatus

      public ReportPageStatus pageStatus(int pageIdx, Long pageTimestamp)
      Description copied from interface: JasperPrintAccessor
      Ensures that a page is available in the generated report.
      Specified by:
      pageStatus in interface JasperPrintAccessor
      Parameters:
      pageIdx - the page index
      pageTimestamp -
      Returns:
      the status of the requested page
    • getJasperPrint

      public JasperPrint getJasperPrint()
      Description copied from interface: JasperPrintAccessor
      Returns the generated report.
      Specified by:
      getJasperPrint in interface JasperPrintAccessor
      Returns:
      the generated report
    • waitForFinalJasperPrint

      public boolean waitForFinalJasperPrint(int milliseconds)
    • getFinalJasperPrint

      public JasperPrint getFinalJasperPrint()
      Description copied from interface: JasperPrintAccessor
      Returns the generated report, ensuring before that the report generation has ended.
      Specified by:
      getFinalJasperPrint in interface JasperPrintAccessor
      Returns:
      the final generated report
    • reportFinished

      public void reportFinished(JasperPrint jasperPrint)
      Description copied from interface: AsynchronousFilllListener
      Called when the report filling is done.
      Specified by:
      reportFinished in interface AsynchronousFilllListener
      Parameters:
      jasperPrint - the filled report
    • reportCancelled

      public void reportCancelled()
      Description copied from interface: AsynchronousFilllListener
      Called when the report is cancelled.
      Specified by:
      reportCancelled in interface AsynchronousFilllListener
    • reportFillError

      public void reportFillError(Throwable t)
      Description copied from interface: AsynchronousFilllListener
      Called when the filling process exits in error.
      Specified by:
      reportFillError in interface AsynchronousFilllListener
      Parameters:
      t - the exception
    • pageGenerated

      public void pageGenerated(JasperPrint jasperPrint, int pageIndex)
      Description copied from interface: FillListener
      Called when a report page has been generated. The page might not be final due to delayed evaluation elements.
      Specified by:
      pageGenerated in interface FillListener
      Parameters:
      jasperPrint - the report that is currently generating
      pageIndex - the index of the page that has been generated
    • pageUpdated

      public void pageUpdated(JasperPrint jasperPrint, int pageIndex)
      Description copied from interface: FillListener
      Called when a previously generated page has been updated, usually by evaluating a delayed element.
      Specified by:
      pageUpdated in interface FillListener
      Parameters:
      jasperPrint - the report that is currently generating
      pageIndex - the index of the page that has been updated
    • getReportStatus

      public ReportExecutionStatus getReportStatus()
      Description copied from interface: JasperPrintAccessor
      Returns the status of the report execution.
      Specified by:
      getReportStatus in interface JasperPrintAccessor
      Returns:
      the status of the report execution