|
||||||||||
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 addvoid 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 edgevoid connect(Operator from, Operator to)
from
- Operator edge will come fromto
- Operator edge will go tovoid createSoftLink(Operator from, Operator to)
from
- Operator dependent uponto
- Operator having the dependencyvoid removeSoftLink(Operator from, Operator to)
from
- Operator dependent uponto
- Operator having the dependencyPair<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 |