org.apache.pig.newplan
Class DependencyOrderWalker
java.lang.Object
org.apache.pig.newplan.PlanWalker
org.apache.pig.newplan.DependencyOrderWalker
- Direct Known Subclasses:
- SubtreeDependencyOrderWalker
public class DependencyOrderWalker
- extends PlanWalker
A walker to walk graphs in dependency order. It is guaranteed that a node
will not be visited until all of its predecessors have been visited. This
is equivalent to doing a topilogical sort on the graph and then visiting
the nodes in order.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DependencyOrderWalker
public DependencyOrderWalker(OperatorPlan plan)
- Parameters:
plan
- for this walker to traverse.
spawnChildWalker
public PlanWalker spawnChildWalker(OperatorPlan 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
- Parameters:
plan
- Plan for the new walker.
- Returns:
- Instance of the same type of walker with plan set to plan.
walk
public void walk(PlanVisitor visitor)
throws FrontendException
- Begin traversing the graph.
- Specified by:
walk
in class PlanWalker
- Parameters:
visitor
- Visitor this walker is being used by.
- Throws:
VisitorException
- if an error is encountered while walking.
FrontendException
doAllPredecessors
protected void doAllPredecessors(Operator node,
Set<Operator> seen,
Collection<Operator> fifo)
throws FrontendException
- Throws:
FrontendException
Copyright © 2012 The Apache Software Foundation