|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
@InterfaceAudience.Private @InterfaceStability.Unstable public interface OperatorPlan
An interface that defines graph operations on plans. Plans are modeled as graphs with restrictions on the types of connections and operations allowed.
| Method Summary | |
|---|---|
void |
add(Operator op)
Add a new operator to the plan. |
void |
connect(Operator from,
int fromPos,
Operator to,
int toPos)
Connect two operators in the plan, controlling which position in the edge lists that the from and to edges are placed. |
void |
connect(Operator from,
Operator to)
Connect two operators in the plan. |
void |
createSoftLink(Operator from,
Operator to)
Create an soft edge between two nodes. |
Pair<Integer,Integer> |
disconnect(Operator from,
Operator to)
Disconnect two operators in the plan. |
Iterator<Operator> |
getOperators()
Get an iterator of all operators in this plan |
List<Operator> |
getPredecessors(Operator op)
For a given operator, get all operators immediately before it in the plan. |
List<Operator> |
getSinks()
Get all operators in the plan that have no successors. |
List<Operator> |
getSoftLinkPredecessors(Operator op)
For a given operator, get all operators softly immediately before it in the plan. |
List<Operator> |
getSoftLinkSuccessors(Operator op)
For a given operator, get all operators softly immediately after it. |
List<Operator> |
getSources()
Get all operators in the plan that have no predecessors. |
List<Operator> |
getSuccessors(Operator op)
For a given operator, get all operators immediately after it. |
void |
insertBetween(Operator pred,
Operator operatorToInsert,
Operator succ)
This method insert node operatorToInsert between pred and succ. |
boolean |
isEqual(OperatorPlan other)
This is like a shallow comparison. |
boolean |
pathExists(Operator load,
Operator store)
check if there is a path in the plan graph between the load operator to the store operator. |
void |
remove(Operator op)
Remove an operator from the plan. |
void |
removeAndReconnect(Operator operatorToRemove)
This method remove a node operatorToRemove. |
void |
removeSoftLink(Operator from,
Operator to)
Remove an soft edge |
void |
replace(Operator oldOperator,
Operator newOperator)
This method replace the oldOperator with the newOperator, make all connection to the new operator in the place of old operator |
int |
size()
Get number of nodes in the plan. |
| Method Detail |
|---|
int size()
List<Operator> getSources()
List<Operator> getSinks()
List<Operator> getPredecessors(Operator op)
op - operator to fetch predecessors of
List<Operator> getSuccessors(Operator op)
op - operator to fetch successors of
List<Operator> getSoftLinkPredecessors(Operator op)
op - operator to fetch predecessors of
List<Operator> getSoftLinkSuccessors(Operator op)
op - operator to fetch successors of
void add(Operator op)
op - operator to add
void remove(Operator op)
throws FrontendException
op - Operator to be removed
FrontendException - if the remove operation attempts to
remove an operator that is still connected to other operators.
void connect(Operator from,
int fromPos,
Operator to,
int toPos)
from - Operator edge will come fromfromPos - Position in the array for the from edgeto - Operator edge will go totoPos - Position in the array for the to edge
void connect(Operator from,
Operator to)
from - Operator edge will come fromto - Operator edge will go to
void createSoftLink(Operator from,
Operator to)
from - Operator dependent uponto - Operator having the dependency
void removeSoftLink(Operator from,
Operator to)
from - Operator dependent uponto - Operator having the dependency
Pair<Integer,Integer> disconnect(Operator from,
Operator to)
throws FrontendException
from - Operator edge is coming fromto - Operator edge is going to
FrontendException - if the two operators aren't connected.Iterator<Operator> getOperators()
boolean isEqual(OperatorPlan other)
throws FrontendException
other - object to compare
FrontendException
void replace(Operator oldOperator,
Operator newOperator)
throws FrontendException
oldOperator - operator to be replacednewOperator - operator to replace
FrontendException
void removeAndReconnect(Operator operatorToRemove)
throws FrontendException
operatorToRemove - operator to remove
FrontendException
void insertBetween(Operator pred,
Operator operatorToInsert,
Operator succ)
throws FrontendException
pred - predecessor of inserted node after this methodoperatorToInsert - operato to insertsucc - successor of inserted node after this method
FrontendException
boolean pathExists(Operator load,
Operator store)
load - load operatorstore - store operator
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||