Class FreeFlowEvaluator
java.lang.Object
com.aquima.interactions.flow.model.FreeFlowEvaluator
Flow evaluator which can evaluate a flow.
This class holds data which is available during an evaluate action.
- Since:
- 16.6
- Author:
- O. de Groote
-
Field Summary
Modifier and TypeFieldDescriptionprotected InternalNode
protected ExitEvent
protected ExitState
protected final FlowEngine
protected final IFlowHandler
protected FlowPath
static final String
protected final FlowNodeCounter
protected FlowNodeException
protected final Stack
<RepeatState> -
Constructor Summary
ModifierConstructorDescriptionprotected
FreeFlowEvaluator
(FlowEngine engine, IFlowHandler handler, IFlowState fs, IFlowDebugger debugger) protected
FreeFlowEvaluator
(FlowEngine engine, IFlowHandler handler, IFlowState fs, IFlowDebugger debugger, FlowNodeCounter nodeCounter) -
Method Summary
Modifier and TypeMethodDescriptionprotected InternalEdge
chooseEdge
(ExitEvent exitEvent) Based on the event, this method selects the edge to follow from the current nodecontinueEvaluation
(ExitEvent pageEvent) protected IFlowState
evaluateFlow
(InternalFlow flow) protected RepeatState
protected void
processEnd
(InternalNode endNode) protected void
resumeParentNode
(String currentFlowName, IEndNodeDetails endNodeDetails) defines how to resume a parent flow after an end-noderevertToFlow
(String flowName) protected void
setCurrentNode
(InternalNode internalNode, ExitEvent exitEvent) sets all relevant data when updating currentNode value
-
Field Details
-
GO_TO_PAGE_EXIT_EVENT
- See Also:
-
flowEngine
-
flowHandler
-
nodeCounter
-
repeatStates
-
flowPath
-
currentNode
-
exitEvent
-
exitState
-
nodeException
-
-
Constructor Details
-
FreeFlowEvaluator
protected FreeFlowEvaluator(FlowEngine engine, IFlowHandler handler, IFlowState fs, IFlowDebugger debugger) -
FreeFlowEvaluator
protected FreeFlowEvaluator(FlowEngine engine, IFlowHandler handler, IFlowState fs, IFlowDebugger debugger, FlowNodeCounter nodeCounter)
-
-
Method Details
-
createFlowState
-
chooseEdge
Based on the event, this method selects the edge to follow from the current node- Parameters:
exitEvent
- , cannot be null- Returns:
- InternalEdge, can be null
-
resumeParentNode
defines how to resume a parent flow after an end-node- Parameters:
currentFlowName
- flow name containing the end-nodeendNodeDetails
- IEndNodeDetails, cannot be null
-
evaluateFlow
-
continueEvaluation
-
continueEvaluation
-
revertToFlow
-
processEnd
protected void processEnd(InternalNode endNode) throws UnknownFlowException, InfiniteFlowException, FlowNodeException -
setCurrentNode
sets all relevant data when updating currentNode value- Parameters:
internalNode
- new value for current node, cannot be nullexitEvent
- exitEvent used to determine new current node
-
getRepeatState
-