Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jgrapht.graph
Class ParanoidGraph<V,E>

    java.lang.Object
      org.jgrapht.graph.AbstractGraph<V,E>
          org.jgrapht.graph.GraphDelegator<V,E>
              org.jgrapht.graph.ParanoidGraph<V,E>

All Implemented Interfaces:
  java.io.Serializable, Graph<V,E>

    public class ParanoidGraph<V,E>

extends GraphDelegator<V,E>

ParanoidGraph provides a way to verify that objects added to a graph obey the standard equals/hashCode contract. It can be used to wrap an underlying graph to be verified. Note that the verification is very expensive, so ParanoidGraph should only be used during debugging.

Version:
  $Id: ParanoidGraph.java 586 2008-01-27 23:30:50Z perfecthash $
Author:
  John Sichi
See Also:
  Serialized Form

Constructor Summary
`ParanoidGraph(Graph<V,E> g)`

Method Summary
`boolean` | `addEdge(V sourceVertex, V targetVertex, E e)` Adds the specified edge to this graph, going from the source vertex to the target vertex.
`boolean` | `addVertex(V v)` Adds the specified vertex to this graph if not already present.

Methods inherited from class org.jgrapht.graph.GraphDelegator
`addEdge, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeFactory, getEdgeSource, getEdgeTarget, getEdgeWeight, incomingEdgesOf, inDegreeOf, outDegreeOf, outgoingEdgesOf, removeEdge, removeEdge, removeVertex, setEdgeWeight, toString, vertexSet`

Methods inherited from class org.jgrapht.graph.AbstractGraph
`assertVertexExist, containsEdge, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toStringFromSets`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.jgrapht.Graph
`containsEdge, removeAllEdges, removeAllEdges, removeAllVertices`

Constructor Detail

### ParanoidGraph

    public ParanoidGraph(Graph<V,E> g)

Method Detail

### addEdge

    public boolean addEdge(V sourceVertex,
                           V targetVertex,
                           E e)

  Description copied from interface: `Graph`
  Adds the specified edge to this graph, going from the source vertex to the target vertex. More formally, adds the specified edge, `e`, to this graph if this graph contains no edge `e2` such that `e2.equals(e)`. If this graph already contains such an edge, the call leaves this graph unchanged and returns `false`. Some graphs do not allow edge-multiplicity. In such cases, if the graph already contains an edge from the specified source to the specified target, than this method does not change the graph and returns `false`. If the edge was added to the graph, returns `true`.

  The source and target vertices must already be contained in this graph. If they are not found in graph IllegalArgumentException is thrown.

  Specified by:
    `addEdge` in interface `Graph<V,E>`
  Overrides:
    `addEdge` in class `GraphDelegator<V,E>`
  Parameters:
    `sourceVertex` - source vertex of the edge.
    `targetVertex` - target vertex of the edge.
    `e` - edge to be added to this graph.
  Returns:
    `true` if this graph did not already contain the specified edge.
  See Also:
    `Graph.addEdge(Object, Object, Object)`

### addVertex

    public boolean addVertex(V v)

  Description copied from interface: `Graph`
  Adds the specified vertex to this graph if not already present. More formally, adds the specified vertex, `v`, to this graph if this graph contains no vertex `u` such that `u.equals(v)`. If this graph already contains such vertex, the call leaves this graph unchanged and returns `false`. In combination with the restriction on constructors, this ensures that graphs never contain duplicate vertices.

  Specified by:
    `addVertex` in interface `Graph<V,E>`
  Overrides:
    `addVertex` in class `GraphDelegator<V,E>`
  Parameters:
    `v` - vertex to be added to this graph.
  Returns:
    `true` if this graph did not already contain the specified vertex.
  See Also:
    `Graph.addVertex(Object)`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD