public class FlowPath extends Object
Modifier and Type | Field and Description |
---|---|
protected Map<String,FrameState> |
frames |
protected Map<String,NodeState> |
states |
Constructor and Description |
---|
FlowPath() |
Modifier and Type | Method and Description |
---|---|
void |
activateFrame(String frameName,
boolean reallyActivate)
This method triggers frame state
|
void |
ensureNodeStateExists(String nodeName)
This method checks if NodeState was created for specified graph node
|
void |
forgetFrame(String frame_name)
This method removes specified frame from tracking
|
int |
getActiveBranch(String nodeName)
This method returns active branch of specific node (if any)
|
long |
getNumberOfCycles(String frameName)
This method returns number of iterations of specified node.
|
int |
getRewindPosition(String frameName)
This method returns planned position within graph for next rewind.
|
void |
incrementNumberOfCycles(String frameName)
This node increments number of iterations by 1.
|
boolean |
isActive(String nodeName)
This method checks, if specified graph node is active (as in - located within active code branch, and was NOT left in inactive branch)
|
boolean |
isFrameActive(String frameName)
This method returns TRUE if specified frame was activated (as in: Enter/Merge was triggered)
|
boolean |
isRegisteredFrame(String frame_name)
This method returns TRUE if frame_name already registered, false otherwise
|
boolean |
isRewindPlanned(String frameName)
This method checks, if rewind was planned for specified frame_name
|
boolean |
isRewindPossible(String frameName) |
void |
markActive(String nodeName,
boolean active)
This method allows to set specified node active or inactive.
|
void |
markExecuted(String nodeName,
boolean executed)
This method allows to toggle wasExecuted() state for specified node
|
void |
planRewind(String frameName,
boolean reallyPlan)
This method announces future rewind of graph execution to specified position
|
void |
registerFrame(String frame_name)
This method adds Frame to tracking
PLEASE NOTE: Only works for first call, subsequent calls are no-op
|
void |
setActiveBranch(String nodeName,
int branchIdx)
This method sets active/inactive branch for divergent nodes (aka Switch)
|
void |
setRewindPosition(String frameName,
int position)
This method allows to set position for next rewind within graph
|
void |
setRewindPositionOnce(String frameName,
int position)
This method allows to set position for next rewind within graph.
|
boolean |
wasExecuted(String nodeName)
This method returns TRUE if specified node was already executed during current pass, FALSE otherwise
|
protected Map<String,FrameState> frames
public void ensureNodeStateExists(@NonNull String nodeName)
nodeName
- public boolean isActive(@NonNull String nodeName)
nodeName
- public void markActive(@NonNull String nodeName, boolean active)
nodeName
- active
- public void setActiveBranch(@NonNull String nodeName, int branchIdx)
nodeName
- branchIdx
- public int getActiveBranch(@NonNull String nodeName)
nodeName
- public boolean wasExecuted(@NonNull String nodeName)
nodeName
- public void markExecuted(@NonNull String nodeName, boolean executed)
nodeName
- executed
- public void incrementNumberOfCycles(@NonNull String frameName)
nodeName
- public long getNumberOfCycles(@NonNull String frameName)
nodeName
- public void registerFrame(@NonNull String frame_name)
frame_name
- public void forgetFrame(@NonNull String frame_name)
frame_name
- public boolean isRegisteredFrame(@NonNull String frame_name)
frame_name
- public boolean isRewindPlanned(@NonNull String frameName)
public boolean isRewindPossible(@NonNull String frameName)
public void planRewind(@NonNull String frameName, boolean reallyPlan)
frameName
- public int getRewindPosition(@NonNull String frameName)
frameName
- public void setRewindPosition(@NonNull String frameName, int position)
frameName
- position
- public void setRewindPositionOnce(@NonNull String frameName, int position)
frameName
- position
- public void activateFrame(@NonNull String frameName, boolean reallyActivate)
frameName
- reallyActivate
- public boolean isFrameActive(@NonNull String frameName)
frameName
- Copyright © 2019. All rights reserved.