vishnu.model.transactions.deadlock
Class WaitsForGraph

java.lang.Object
  extended by vishnu.model.transactions.deadlock.WaitsForGraph
All Implemented Interfaces:
Graph<Transaction>

public class WaitsForGraph
extends java.lang.Object
implements Graph<Transaction>

Esta implementacion de la interfaz Graph arma el grafo de dependencias entre las transacciones activas del motor.

Author:
Mariano
 

Constructor Summary
WaitsForGraph(java.util.Collection<Transaction> ts)
           
 
Method Summary
 void add(Transaction node)
          Agrega un nodo al grafo.
 void addEdge(Transaction origin, Transaction end)
          Agrega un eje al grafo entre los nodos especificados.
 void clear()
          Borra el grafo.
 boolean contains(Transaction node)
          Indica si el grafo contiene el nodo especificado.
 boolean containsEdge(Transaction origin, Transaction end)
          Indica si el grafo contiene un eje entre los nodos especificados.
 java.util.List<Transaction> neighbors(Transaction node)
          La lista de nodos con ejes incidentes que parten del nodo especificado
 java.util.List<Transaction> nodes()
          La lista de nodos del grafo.
 void remove(Transaction node)
          Saca un nodo del grafo.
 void removeEdge(Transaction origin, Transaction end)
          Elimina un eje al grafo entre los nodos especificados.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WaitsForGraph

public WaitsForGraph(java.util.Collection<Transaction> ts)
Method Detail

add

public void add(Transaction node)
Description copied from interface: Graph
Agrega un nodo al grafo.

Specified by:
add in interface Graph<Transaction>
Parameters:
node - - el nuevo nodo del grafo.

remove

public void remove(Transaction node)
Description copied from interface: Graph
Saca un nodo del grafo.

Specified by:
remove in interface Graph<Transaction>
Parameters:
node - - el nodo a eliminar del grafo.

contains

public boolean contains(Transaction node)
Description copied from interface: Graph
Indica si el grafo contiene el nodo especificado.

Specified by:
contains in interface Graph<Transaction>
Parameters:
node - - el nodo.
Returns:
true si el grafo contiene el nodo, false si no.

addEdge

public void addEdge(Transaction origin,
                    Transaction end)
Description copied from interface: Graph
Agrega un eje al grafo entre los nodos especificados. El eje es orientado.

Specified by:
addEdge in interface Graph<Transaction>
Parameters:
origin - - el nodo de salida del eje.
end - - eń nodo de llegada del eje.

removeEdge

public void removeEdge(Transaction origin,
                       Transaction end)
Description copied from interface: Graph
Elimina un eje al grafo entre los nodos especificados. El eje es orientado.

Specified by:
removeEdge in interface Graph<Transaction>
Parameters:
origin - - el nodo de salida del eje.
end - - eń nodo de llegada del eje.

containsEdge

public boolean containsEdge(Transaction origin,
                            Transaction end)
Description copied from interface: Graph
Indica si el grafo contiene un eje entre los nodos especificados. El eje es orientado.

Specified by:
containsEdge in interface Graph<Transaction>
Parameters:
origin - - el nodo de salida del eje.
end - - eń nodo de llegada del eje.
Returns:
true si el grafo contiene el eje, false si no.

nodes

public java.util.List<Transaction> nodes()
Description copied from interface: Graph
La lista de nodos del grafo.

Specified by:
nodes in interface Graph<Transaction>
Returns:
la lista con todos los nodos del grafo.

neighbors

public java.util.List<Transaction> neighbors(Transaction node)
Description copied from interface: Graph
La lista de nodos con ejes incidentes que parten del nodo especificado

Specified by:
neighbors in interface Graph<Transaction>
Parameters:
node - - el nodo.
Returns:
la lista de vecinos del nodo.

clear

public void clear()
Description copied from interface: Graph
Borra el grafo.

Specified by:
clear in interface Graph<Transaction>