Class EvaluationQueue

java.lang.Object
com.aquima.interactions.process.impl.EvaluationQueue
All Implemented Interfaces:
IEvaluationQueue

public class EvaluationQueue extends Object implements IEvaluationQueue
Implementation of the evaluation queue. This queue is implemented as a FIFO queue, and accepts new tasks during the processing of current tasks.
Since:
7.1
Author:
O. Kerpershoek
  • Field Details

  • Constructor Details

  • Method Details

    • start

      protected void start(DateTimeValue currentTime)
    • shouldExpire

      protected boolean shouldExpire(ITaskModel taskModel, IProcessNodeDefinition node, DateTimeValue currentTime)
    • addNode

      public void addNode(IProcessNodeDefinition node, ITaskModel parent)
      Description copied from interface: IEvaluationQueue
      Add a node from a process to the evaluation queue. this method should be invoked for nodes that have not yet been processed.
      Specified by:
      addNode in interface IEvaluationQueue
      Parameters:
      node - The node that should be scheduled and processed.
      parent - The parent task of the node (should never be null).
    • addTask

      public void addTask(ITaskModel taskModel)
      Description copied from interface: IEvaluationQueue
      Add a task to the evaluation queue, so it will be evaluated, and the process will continue from that task if needed.
      Specified by:
      addTask in interface IEvaluationQueue
      Parameters:
      taskModel - The task that should be evaluated.
    • addFirstTask

      public void addFirstTask(ITaskModel taskModel)
      Description copied from interface: IEvaluationQueue
      Adds the given task as the first element to the queue. Duplicates will be removed from the queue.
      Specified by:
      addFirstTask in interface IEvaluationQueue
      Parameters:
      taskModel - the task that should be evaluated.
    • clearSchedulingHistory

      public void clearSchedulingHistory()
    • expireTask

      protected void expireTask(ITaskModel task)
    • cancelTask

      public void cancelTask(ITaskModel task)
      Description copied from interface: IEvaluationQueue
      This method may be invoked to cancel a task. The task will be marked as canceled, and will be removed from the queue (if needed). If the task is a process or group task, the cancelTask method will also (automatically) be invoked for any child task that has not yet been completed.
      Specified by:
      cancelTask in interface IEvaluationQueue
      Parameters:
      task - The task that needs to be canceled.
    • cancelTask

      protected void cancelTask(ITaskModel task, TaskStatusType status)
    • setChangeListener

      protected void setChangeListener(IProcessCaseChangeListener changeListener)