Class AbstractWorkflowStrategy
java.lang.Object
org.tasktide.engine.policies.workflow.AbstractWorkflowStrategy
- All Implemented Interfaces:
WorkflowAcquisitionStrategy
- Direct Known Subclasses:
RoundRobinWorkflowStrategy, SequentialWorkflowStrategy
public abstract class AbstractWorkflowStrategy
extends Object
implements WorkflowAcquisitionStrategy
AbstractWorkflowStrategy to hold shared operational logic
of concrete WorkflowStrategyType instances. Enforcing a queue
ordering based on the provided TaskTideWorkloadAcquisitionPolicy-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected TaskTideWorkloadAcquisitionPolicyprotected intprotected booleanprotected final Stringprotected intprotected WorkflowStrategyModeprotected final List<TaskTideWorkloadAcquisitionPolicy> protected Deque<TaskTideWorkloadAcquisitionPolicy> -
Method Summary
Modifier and TypeMethodDescriptionbooleanHandles iteration counter if configuredGet activeTaskTideWorkloadAcquisitionPolicybooleanGet whether strategy has rungetId()Get IdintGet iteration limitGet target names from elements still in queueGet target names as a listbooleanhasNext()Checks whether there active tasks in workflowvoidReset queue queuevoidsetHasRun(boolean val) Set has run for cloningvoidsetIterationLimit(int limit) Set iteration limitvoidMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface WorkflowAcquisitionStrategy
configureDefaultStrategyMode, evaluateWorkload, fetchWorkload
-
Field Details
-
id
-
policies
-
workflow
-
activePolicy
-
mode
-
limit
protected int limit -
counter
protected int counter -
hasRun
protected boolean hasRun
-
-
Method Details
-
hasNext
public boolean hasNext()Checks whether there active tasks in workflow- Specified by:
hasNextin interfaceWorkflowAcquisitionStrategy- Returns:
- boolean
-
setStrategyMode
- Specified by:
setStrategyModein interfaceWorkflowAcquisitionStrategy- Parameters:
mode-
-
getStrategyMode
- Specified by:
getStrategyModein interfaceWorkflowAcquisitionStrategy- Returns:
WorkflowStrategyMode
-
getActive
Get activeTaskTideWorkloadAcquisitionPolicy- Specified by:
getActivein interfaceWorkflowAcquisitionStrategy- Returns:
TaskTideWorkloadAcquisitionPolicy
-
setIterationLimit
public void setIterationLimit(int limit) Set iteration limit- Specified by:
setIterationLimitin interfaceWorkflowAcquisitionStrategy- Parameters:
limit-
-
getIterationLimit
public int getIterationLimit()Get iteration limit- Specified by:
getIterationLimitin interfaceWorkflowAcquisitionStrategy- Returns:
- int
-
getTargetNames
Get target names as a list- Specified by:
getTargetNamesin interfaceWorkflowAcquisitionStrategy- Returns:
- String
-
getId
Get Id- Specified by:
getIdin interfaceWorkflowAcquisitionStrategy- Returns:
- String
-
evaluateIterationCounter
public boolean evaluateIterationCounter()Handles iteration counter if configured- Specified by:
evaluateIterationCounterin interfaceWorkflowAcquisitionStrategy- Returns:
- boolean
-
resetPolicyQueue
public void resetPolicyQueue()Reset queue queue- Specified by:
resetPolicyQueuein interfaceWorkflowAcquisitionStrategy
-
getQueueTargets
Get target names from elements still in queue- Specified by:
getQueueTargetsin interfaceWorkflowAcquisitionStrategy- Returns:
- List-String
-
setHasRun
public void setHasRun(boolean val) Set has run for cloning- Specified by:
setHasRunin interfaceWorkflowAcquisitionStrategy- Parameters:
val-
-
getHasRun
public boolean getHasRun()Get whether strategy has run- Specified by:
getHasRunin interfaceWorkflowAcquisitionStrategy- Returns:
- boolean
-