public abstract class TaskVisitor extends Object
appA && appB && appC. In this situation
preVisit(int) and postVisit(int) will only be called with 0. A more
complex situation would be:
appA && appB 0->:foo *->appC
foo: appD && appE
This includes two sequences - as in two separate definitions. The primary definition
references other definitions where it would be too messy to inline them. In this case
preVisit(int) would be called for both 0 and 1.| Constructor and Description |
|---|
TaskVisitor() |
| Modifier and Type | Method and Description |
|---|---|
void |
endVisit()
The last call made to a visitor.
|
void |
postVisit(FlowNode flow) |
void |
postVisit(SplitNode split) |
void |
postVisit(TaskAppNode taskApp) |
void |
postVisit(TransitionNode transition) |
void |
postVisitSequence(LabelledTaskNode firstNode,
int sequenceNumber) |
boolean |
preVisit(FlowNode flow) |
boolean |
preVisit(SplitNode split) |
boolean |
preVisit(TaskAppNode taskApp)
This preVisit/visit/postVisit sequence for taskApp is not invoked for inlined
references to apps in transitions, for example:
appA 0->:foo 1->appB. |
boolean |
preVisit(TransitionNode transition)
After visit(TaskAppNode) and before postVisit(TaskAppNode) the
transitions (if there are any) are visited for that task app.
|
boolean |
preVisitSequence(LabelledTaskNode firstNode,
int sequenceNumber) |
void |
startVisit(String taskName,
String taskDsl)
The first call made to a visitor.
|
void |
visit(FlowNode flow) |
void |
visit(SplitNode split) |
void |
visit(TaskAppNode taskApp) |
void |
visit(TransitionNode transition) |
public void startVisit(String taskName, String taskDsl)
taskName - the name of the task definitiontaskDsl - the textual definition of the AST being visitedpublic void endVisit()
public boolean preVisitSequence(LabelledTaskNode firstNode, int sequenceNumber)
firstNode - the first node in the sequencesequenceNumber - the sequence number, where the primary sequence is 0public void postVisitSequence(LabelledTaskNode firstNode, int sequenceNumber)
public boolean preVisit(FlowNode flow)
flow - the flow which represents things to execute in sequencepublic void visit(FlowNode flow)
public void postVisit(FlowNode flow)
public boolean preVisit(SplitNode split)
split - the split which represents things to execute in parallelpublic void visit(SplitNode split)
public void postVisit(SplitNode split)
public boolean preVisit(TaskAppNode taskApp)
appA 0->:foo 1->appB. The
reference to appB would be seen in the transition visit below.taskApp - the use of a task app in a task dslpublic void visit(TaskAppNode taskApp)
public void postVisit(TaskAppNode taskApp)
public boolean preVisit(TransitionNode transition)
transition - the transitionpublic void visit(TransitionNode transition)
public void postVisit(TransitionNode transition)
Copyright © 2019 Pivotal Software, Inc.. All rights reserved.