public abstract class PlanVisitor<O extends Operator,P extends OperatorPlan<O>> extends Object
| Modifier and Type | Field and Description | 
|---|---|
| protected PlanWalker<O,P> | mCurrentWalkerGuaranteed 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