Class ActionExecutor

java.lang.Object
jaxx.runtime.swing.application.ActionExecutor

public abstract class ActionExecutor
extends java.lang.Object
Executor of ActionWorker.
Since:
2.1
Author:
Tony Chemit - chemit@codelutin.com
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected java.util.Set<ActionWorker<?,​?>> tasks
    current tasks
    protected java.beans.PropertyChangeListener workerListener
    the listener of running action
  • Constructor Summary

    Constructors
    Constructor Description
    ActionExecutor()  
  • Method Summary

    Modifier and Type Method Description
    ActionWorker<?,​?> addAction​(java.lang.String actionLabel, java.lang.Runnable action)
    Add an new action to perform.
    java.lang.Runnable createRunnable​(java.lang.Object methodContainer, java.lang.String methodName, java.lang.Object... arguments)
    Creates a runnable instance (via a Proxy) to a method given by his name (methodName) to invoke on methodcontainer with given arguments.
    int getNbActions()  
    java.util.Set<ActionWorker<?,​?>> getTasks()  
    abstract void onActionCancel​(ActionWorker<?,​?> source)
    Hook when a action has been canceled.
    abstract void onActionEnd​(ActionWorker<?,​?> source)
    Hook when a action has end with no failure or cancel.
    abstract void onActionFail​(ActionWorker<?,​?> source)
    Hook when a action has failed.
    abstract void onActionStart​(ActionWorker<?,​?> source)
    Hook when a action is about to start.
    abstract void onAfterAction​(ActionWorker<?,​?> source)
    Hook atfer action is consumed.
    void terminatesAndWaits()
    Ask the thread to stop.

    Methods inherited from class java.lang.Object

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

    • tasks

      protected final java.util.Set<ActionWorker<?,​?>> tasks
      current tasks
    • workerListener

      protected final java.beans.PropertyChangeListener workerListener
      the listener of running action
  • Constructor Details

    • ActionExecutor

      public ActionExecutor()
  • Method Details

    • onActionStart

      public abstract void onActionStart​(ActionWorker<?,​?> source)
      Hook when a action is about to start.
      Parameters:
      source - the action worker containing the action to perform
    • onActionFail

      public abstract void onActionFail​(ActionWorker<?,​?> source)
      Hook when a action has failed.
      Parameters:
      source - the action worker containing the action to perform
    • onActionCancel

      public abstract void onActionCancel​(ActionWorker<?,​?> source)
      Hook when a action has been canceled.
      Parameters:
      source - the action worker containing the action to perform
    • onActionEnd

      public abstract void onActionEnd​(ActionWorker<?,​?> source)
      Hook when a action has end with no failure or cancel.
      Parameters:
      source - the action worker containing the action to perform
    • onAfterAction

      public abstract void onAfterAction​(ActionWorker<?,​?> source)
      Hook atfer action is consumed.
      Parameters:
      source - the action worker containing the action to perform
    • addAction

      public ActionWorker<?,​?> addAction​(java.lang.String actionLabel, java.lang.Runnable action)
      Add an new action to perform.
      Parameters:
      actionLabel - the name of the action to perform
      action - the action to perform
      Returns:
      the worker that will launch the action
    • terminatesAndWaits

      public void terminatesAndWaits() throws java.lang.InterruptedException
      Ask the thread to stop. It will finish all incoming files (but will not accept more tasks). Note: The method does not return until all tasks are not consumed.
      Throws:
      java.lang.InterruptedException - if something wrong while waiting end of executor
    • getNbActions

      public int getNbActions()
    • getTasks

      public java.util.Set<ActionWorker<?,​?>> getTasks()
    • createRunnable

      public java.lang.Runnable createRunnable​(java.lang.Object methodContainer, java.lang.String methodName, java.lang.Object... arguments)
      Creates a runnable instance (via a Proxy) to a method given by his name (methodName) to invoke on methodcontainer with given arguments. This is a great feature to create runnable code with a real context.
      Parameters:
      methodContainer - the container of the method to invoke
      methodName - the name of the method to invoke
      arguments - parameters to pass to method to invke.
      Returns:
      the proxy instance