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:
    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$
  Author:
    John Sichi
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParanoidGraph(Graph<V,E> g)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, equals, hashCode, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toStringFromSets`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, 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)`

Copyright © 2016. All rights reserved.