Class BaseFillHandle

  • All Implemented Interfaces:
    FillHandle
    Direct Known Subclasses:
    AsynchronousFillHandle

    public abstract class BaseFillHandle
    extends java.lang.Object
    implements FillHandle
    Base class used to perform report filling asychronously.

    An instance of this type can be used as a handle to an asychronous fill process. The main benefit of this method is that the filling process can be cancelled.

    Author:
    Lucian Chirita (lucianc@users.sourceforge.net)
    • Field Detail

      • parameters

        protected final java.util.Map<java.lang.String,​java.lang.Object> parameters
      • conn

        protected final java.sql.Connection conn
      • started

        protected boolean started
      • running

        protected boolean running
      • cancelled

        protected boolean cancelled
      • lock

        protected final java.lang.Object lock
    • Method Detail

      • addFillListener

        public void addFillListener​(FillListener listener)
        Description copied from interface: FillHandle
        Adds a fill listener to the filling process. The fill listener is notified of intermediate events that occur during the report generation.
        Specified by:
        addFillListener in interface FillHandle
        Parameters:
        listener - the listener to add
      • removeListener

        public boolean removeListener​(AsynchronousFilllListener listener)
        Description copied from interface: FillHandle
        Removes a listener from the filling process.
        Specified by:
        removeListener in interface FillHandle
        Parameters:
        listener - the listener to be removed
        Returns:
        true if the listener was found and removed
      • startFill

        public void startFill()
        Description copied from interface: FillHandle
        Starts the filling process asychronously.

        The filling can be launched on a new thread and the method exits after the execution is started.

        When the filling finishes either in success or failure, the listeners are notified.

        Specified by:
        startFill in interface FillHandle
      • getReportExecutor

        protected abstract java.util.concurrent.Executor getReportExecutor()
      • cancellFill

        public void cancellFill()
                         throws JRException
        Description copied from interface: FillHandle
        Cancels the fill started by the handle.

        The method sends a cancel signal to the filling process. When the filling process will end, the listeners will be notified that the filling has been cancelled.

        Specified by:
        cancellFill in interface FillHandle
        Throws:
        JRException
      • notifyFinish

        protected void notifyFinish​(JasperPrint print)
      • notifyCancel

        protected void notifyCancel()
      • notifyError

        protected void notifyError​(java.lang.Throwable e)
      • isPageFinal

        public boolean isPageFinal​(int pageIdx)
        Description copied from interface: FillHandle
        Determines wheter a page generated by the fill process is final or not.
        Specified by:
        isPageFinal in interface FillHandle
        Parameters:
        pageIdx - the page index
        Returns:
        whether the page at the specified index is final or can be subject to future changes
        See Also:
        FillListener.pageUpdated(JasperPrint, int)