org.apache.pig.impl.plan
Class DependencyOrderWalker<O extends Operator,P extends OperatorPlan<O>>
java.lang.Object
org.apache.pig.impl.plan.PlanWalker<O,P>
org.apache.pig.impl.plan.DependencyOrderWalker<O,P>
public class DependencyOrderWalker<O extends Operator,P extends OperatorPlan<O>>
- extends PlanWalker<O,P>
DependencyOrderWalker traverses the graph in such a way that no node is visited
before all the nodes it depends on have been visited. Beyond this, it does not
guarantee any particular order. So, you have a graph with node 1 2 3 4, and
edges 1->3, 2->3, and 3->4, this walker guarnatees that 1 and 2 will be visited
before 3 and 3 before 4, but it does not guarantee whether 1 or 2 will be
visited first.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DependencyOrderWalker
public DependencyOrderWalker(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.
doAllPredecessors
protected void doAllPredecessors(O node,
Set<O> seen,
Collection<O> fifo)
throws VisitorException
- Throws:
VisitorException
Copyright © 2012 The Apache Software Foundation