public abstract class PlanVisitor<O extends Operator,P extends OperatorPlan<O>> extends Object
Modifier and Type | Field and Description |
---|---|
protected PlanWalker<O,P> |
mCurrentWalker
Guaranteed to always point to the walker currently being used.
|
protected P |
mPlan |
Modifier | Constructor and Description |
---|---|
protected |
PlanVisitor(P plan,
PlanWalker<O,P> walker) |
Modifier and Type | Method and Description |
---|---|
P |
getPlan() |
protected void |
popWalker()
Pop the next to previous walker off of the stack and set it as the current
walker.
|
protected void |
pushWalker(PlanWalker<O,P> walker)
Push the current walker onto the stack of saved walkers and begin using
the newly passed walker as the current walker.
|
void |
visit()
Entry point for visiting the plan.
|
protected P extends OperatorPlan<O> mPlan
protected PlanWalker<O extends Operator,P extends OperatorPlan<O>> mCurrentWalker
protected PlanVisitor(P plan, PlanWalker<O,P> walker)
plan
- OperatorPlan this visitor will visit.walker
- PlanWalker this visitor will use to traverse the plan.public void visit() throws VisitorException
VisitorException
- if an error is encountered while visiting.public P getPlan()
protected void pushWalker(PlanWalker<O,P> walker)
walker
- new walker to set as the current walker.protected void popWalker() throws VisitorException
VisitorException
- if there are no more walkers on the stack. In
this case the current walker is not reset.Copyright © 2007-2017 The Apache Software Foundation