org.apache.pig.impl.plan
Class DepthFirstWalker<O extends Operator,P extends OperatorPlan<O>>
java.lang.Object
org.apache.pig.impl.plan.PlanWalker<O,P>
org.apache.pig.impl.plan.DepthFirstWalker<O,P>
public class DepthFirstWalker<O extends Operator,P extends OperatorPlan<O>>
- extends PlanWalker<O,P>
DepthFirstWalker traverses a plan in a depth first manner. One important note
is that, in compliance with the PlanWalker contract, it only visits each node in
the graph once.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DepthFirstWalker
public DepthFirstWalker(P plan)
- Parameters:
plan
- Plan for this walker to traverse.
walk
public void walk(PlanVisitor<O,P> visitor)
throws VisitorException
- Begin traversing the graph.
- Specified by:
walk
in class PlanWalker<O extends Operator,P extends OperatorPlan<O>>
- Parameters:
visitor
- Visitor this walker is being used by.
- Throws:
VisitorException
- if an error is encountered while walking.
spawnChildWalker
public PlanWalker<O,P> spawnChildWalker(P plan)
- Description copied from class:
PlanWalker
- Return a new instance of this same type of walker for a subplan.
When this method is called the same type of walker with the
provided plan set as the plan, must be returned. This can then be
used to walk subplans. This allows abstract visitors to clone
walkers without knowning the type of walker their subclasses used.
- Specified by:
spawnChildWalker
in class PlanWalker<O extends Operator,P extends OperatorPlan<O>>
- Parameters:
plan
- Plan for the new walker.
- Returns:
- Instance of the same type of walker with mPlan set to plan.
Copyright © 2012 The Apache Software Foundation