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.