scpsolver.graph
Class Graph

java.lang.Object
  extended by scpsolver.graph.Graph
All Implemented Interfaces:
GraphInterface
Direct Known Subclasses:
BipartiteGraph

public class Graph
extends java.lang.Object
implements GraphInterface

Author:
planatsc

Constructor Summary
Graph()
           
 
Method Summary
 void activateAllEdges()
           
 Edge addEdgeSecure(java.lang.String leftlabel, java.lang.String rightlabel)
           
 Edge addEdgeSecure(java.lang.String leftlabel, java.lang.String rightlabel, boolean reverse)
           
 Edge addEdgeSecure(java.lang.String leftlabel, java.lang.String rightlabel, java.lang.String edgelabel, boolean reverse)
           
 void addGraph(Graph g)
           
 Node addNode(Node node)
           
 Graph clone()
           
 SparseMatrix getAdjMatrix()
           
 SparseMatrix getAdjMatrix(java.util.ArrayList<Node> nodeorder)
           
 java.util.ArrayList<java.util.HashSet<Node>> getAllComponents()
           
 java.util.ArrayList<java.util.HashSet<Node>> getAllComponentsDL()
           
 java.util.HashSet<Node> getComponent(Node n)
           
 java.util.HashSet<Node> getComponentDL(Node n, java.util.HashSet<Node> result)
           
 Edge getEdge(java.lang.String leftlabel, java.lang.String rightlabel)
          returns the instance of the edge defined by its nodes. throws runtimeexpections if errors occur.
 Node getNode(java.lang.String label)
           
 java.util.HashMap<java.lang.String,Node> getNodes()
           
 java.util.ArrayList<Node> getNodeSet(java.lang.String nodestring)
           
 java.util.ArrayList<Node> getNodeSetPipe(java.lang.String nodestring)
           
 java.util.ArrayList<Node> getNodeWithActiveCardinality(int min, int max)
           
 java.util.ArrayList<Node> getNodeWithCardinality(int min, int max)
           
 int getNumberEdges()
           
 int getNumberNodes()
           
 boolean hasEdge(java.lang.String leftlabel, java.lang.String rightlabel)
           
 boolean isEmpty()
          is this graph empty?
static void main(java.lang.String[] args)
           
 void removeCards()
          removes nodes with cardinality zero
 void removeEdge(Edge e)
          removes an edge from the graph.
 void removeNode(Node node)
           
 void reset()
           
 java.lang.String toGML()
           
 void toGML(java.lang.String filename)
           
 void toGML(java.lang.String filename, java.util.ArrayList<java.util.HashSet<Node>> groups, java.util.ArrayList<java.lang.String> labels)
           
 java.lang.String toGMLwithGrouping(java.util.ArrayList<java.util.HashSet<Node>> groups, java.util.ArrayList<java.lang.String> labels)
           
 java.lang.String toMTX()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Graph

public Graph()
Method Detail

getNodes

public java.util.HashMap<java.lang.String,Node> getNodes()
Specified by:
getNodes in interface GraphInterface
Returns:
the nodesright

getNode

public Node getNode(java.lang.String label)
Specified by:
getNode in interface GraphInterface

getEdge

public Edge getEdge(java.lang.String leftlabel,
                    java.lang.String rightlabel)
returns the instance of the edge defined by its nodes. throws runtimeexpections if errors occur.

Parameters:
leftlabel -
rightlabel -
Returns:

clone

public Graph clone()
Overrides:
clone in class java.lang.Object

reset

public void reset()

addNode

public Node addNode(Node node)

addGraph

public void addGraph(Graph g)

getComponent

public java.util.HashSet<Node> getComponent(Node n)

getComponentDL

public java.util.HashSet<Node> getComponentDL(Node n,
                                              java.util.HashSet<Node> result)

getAllComponentsDL

public java.util.ArrayList<java.util.HashSet<Node>> getAllComponentsDL()

getAllComponents

public java.util.ArrayList<java.util.HashSet<Node>> getAllComponents()

removeNode

public void removeNode(Node node)

removeEdge

public void removeEdge(Edge e)
removes an edge from the graph.

Parameters:
e -

removeCards

public void removeCards()
removes nodes with cardinality zero


isEmpty

public boolean isEmpty()
is this graph empty?


getNumberNodes

public int getNumberNodes()
Specified by:
getNumberNodes in interface GraphInterface

getNumberEdges

public int getNumberEdges()

hasEdge

public boolean hasEdge(java.lang.String leftlabel,
                       java.lang.String rightlabel)
Specified by:
hasEdge in interface GraphInterface

addEdgeSecure

public Edge addEdgeSecure(java.lang.String leftlabel,
                          java.lang.String rightlabel,
                          boolean reverse)

addEdgeSecure

public Edge addEdgeSecure(java.lang.String leftlabel,
                          java.lang.String rightlabel)
Specified by:
addEdgeSecure in interface GraphInterface

addEdgeSecure

public Edge addEdgeSecure(java.lang.String leftlabel,
                          java.lang.String rightlabel,
                          java.lang.String edgelabel,
                          boolean reverse)

toGML

public java.lang.String toGML()

toGMLwithGrouping

public java.lang.String toGMLwithGrouping(java.util.ArrayList<java.util.HashSet<Node>> groups,
                                          java.util.ArrayList<java.lang.String> labels)

toMTX

public java.lang.String toMTX()

getNodeWithCardinality

public java.util.ArrayList<Node> getNodeWithCardinality(int min,
                                                        int max)

getNodeWithActiveCardinality

public java.util.ArrayList<Node> getNodeWithActiveCardinality(int min,
                                                              int max)

toGML

public void toGML(java.lang.String filename)
Parameters:
filename -

toGML

public void toGML(java.lang.String filename,
                  java.util.ArrayList<java.util.HashSet<Node>> groups,
                  java.util.ArrayList<java.lang.String> labels)

getNodeSet

public java.util.ArrayList<Node> getNodeSet(java.lang.String nodestring)
Parameters:
nodestring -
Returns:

getNodeSetPipe

public java.util.ArrayList<Node> getNodeSetPipe(java.lang.String nodestring)
Parameters:
nodestring -
Returns:

getAdjMatrix

public SparseMatrix getAdjMatrix()

getAdjMatrix

public SparseMatrix getAdjMatrix(java.util.ArrayList<Node> nodeorder)

activateAllEdges

public void activateAllEdges()

main

public static void main(java.lang.String[] args)