org.apache.pig.pen.util
Class PreOrderDepthFirstWalker<O extends Operator,P extends OperatorPlan<O>>

java.lang.Object
  extended by org.apache.pig.impl.plan.PlanWalker<O,P>
      extended by org.apache.pig.pen.util.PreOrderDepthFirstWalker<O,P>

public class PreOrderDepthFirstWalker<O extends Operator,P extends OperatorPlan<O>>
extends PlanWalker<O,P>


Field Summary
 
Fields inherited from class org.apache.pig.impl.plan.PlanWalker
mPlan
 
Constructor Summary
PreOrderDepthFirstWalker(P plan)
           
 
Method Summary
 PlanWalker<O,P> spawnChildWalker(P plan)
          Return a new instance of this same type of walker for a subplan.
 void walk(PlanVisitor<O,P> visitor)
          Begin traversing the graph.
 
Methods inherited from class org.apache.pig.impl.plan.PlanWalker
getPlan, setPlan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PreOrderDepthFirstWalker

public PreOrderDepthFirstWalker(P plan)
Parameters:
plan - Plan for this walker to traverse.
Method Detail

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 © ${year} The Apache Software Foundation