Class MultiPassKernelSwingWorker

  • All Implemented Interfaces:
    java.lang.Runnable, java.util.concurrent.Future<java.lang.Void>, java.util.concurrent.RunnableFuture<java.lang.Void>

    public abstract class MultiPassKernelSwingWorker
    extends javax.swing.SwingWorker<java.lang.Void,​java.lang.Void>
    Implementation of SwingWorker to assist in progress tracking and cancellation of multi-pass Kernels.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.SwingWorker

        javax.swing.SwingWorker.StateValue
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void cancelExecution()
      Utility method which just invokes Kernel.cancelMultiPass() on the executing kernel.
      private void cleanUpExecution()  
      protected java.lang.Void doInBackground()
      Executes the kernel via executeKernel(Kernel), whilst also managing progress updates for the kernel's passId.
      protected abstract void executeKernel​(Kernel kernel)
      This method must invoke one of the kernel's execute() methods.
      protected int getPollIntervalMillis()
      The interval at which the Kernel's current passId is polled.
      private void setUpExecution()  
      private void updatePassId()  
      protected abstract void updatePassId​(int passId)
      This method, which is always invoked on the swing event dispatch thread, should be used to update any components (such as a JProgressBar) so as to reflect the progress of the multi-pass Kernel being executed.
      • Methods inherited from class javax.swing.SwingWorker

        addPropertyChangeListener, cancel, done, execute, firePropertyChange, get, get, getProgress, getPropertyChangeSupport, getState, isCancelled, isDone, process, publish, removePropertyChangeListener, run, setProgress
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • kernel

        private Kernel kernel
      • timer

        private javax.swing.Timer timer
    • Constructor Detail

      • MultiPassKernelSwingWorker

        protected MultiPassKernelSwingWorker​(Kernel kernel)
    • Method Detail

      • cancelExecution

        public void cancelExecution()
        Utility method which just invokes Kernel.cancelMultiPass() on the executing kernel.
      • executeKernel

        protected abstract void executeKernel​(Kernel kernel)
        This method must invoke one of the kernel's execute() methods.
      • updatePassId

        protected abstract void updatePassId​(int passId)
        This method, which is always invoked on the swing event dispatch thread, should be used to update any components (such as a JProgressBar) so as to reflect the progress of the multi-pass Kernel being executed.
        Parameters:
        passId - The passId for the Kernel's current pass, or one of the constant fields returnable by KernelRunner.getCurrentPass().
      • doInBackground

        protected final java.lang.Void doInBackground()
                                               throws java.lang.Exception
        Executes the kernel via executeKernel(Kernel), whilst also managing progress updates for the kernel's passId.
        Specified by:
        doInBackground in class javax.swing.SwingWorker<java.lang.Void,​java.lang.Void>
        Throws:
        java.lang.Exception
      • setUpExecution

        private void setUpExecution()
      • cleanUpExecution

        private void cleanUpExecution()
      • updatePassId

        private void updatePassId()
      • getPollIntervalMillis

        protected int getPollIntervalMillis()
        The interval at which the Kernel's current passId is polled. Unless overridden, returns DEFAULT_POLL_INTERVAL.