Class BaseIntrusiveEdgesSpecifics<V,​E,​IE extends org.jgrapht.graph.IntrusiveEdge>

java.lang.Object
org.jgrapht.graph.BaseIntrusiveEdgesSpecifics<V,​E,​IE>
Type Parameters:
V - the graph vertex type
E - the graph edge type
IE - the intrusive edge type
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
UniformIntrusiveEdgesSpecifics, WeightedIntrusiveEdgesSpecifics

public abstract class BaseIntrusiveEdgesSpecifics<V,​E,​IE extends org.jgrapht.graph.IntrusiveEdge>
extends java.lang.Object
implements java.io.Serializable
A base implementation for the intrusive edges specifics.
Author:
Barak Naveh, Dimitrios Michail
See Also:
Serialized Form
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.util.Map<E,​IE> edgeMap  
    protected java.util.Set<E> unmodifiableEdgeSet  
  • Constructor Summary

    Constructors 
    Constructor Description
    BaseIntrusiveEdgesSpecifics​(java.util.Map<E,​IE> edgeMap)
    Constructor
  • Method Summary

    Modifier and Type Method Description
    abstract boolean add​(E e, V sourceVertex, V targetVertex)
    Add a new edge
    protected boolean addIntrusiveEdge​(E edge, V sourceVertex, V targetVertex, IE e)  
    boolean containsEdge​(E e)
    Check if an edge exists
    java.util.Set<E> getEdgeSet()
    Get the edge set.
    V getEdgeSource​(E e)
    Get the source of an edge.
    V getEdgeTarget​(E e)
    Get the target of an edge.
    double getEdgeWeight​(E e)
    Get the weight of an edge.
    protected abstract IE getIntrusiveEdge​(E e)
    Get the intrusive edge of an edge.
    void remove​(E e)
    Remove an edge.
    void setEdgeWeight​(E e, double weight)
    Set the weight of an edge

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • edgeMap

      protected java.util.Map<E,​IE extends org.jgrapht.graph.IntrusiveEdge> edgeMap
    • unmodifiableEdgeSet

      protected transient java.util.Set<E> unmodifiableEdgeSet
  • Constructor Details

    • BaseIntrusiveEdgesSpecifics

      public BaseIntrusiveEdgesSpecifics​(java.util.Map<E,​IE> edgeMap)
      Constructor
      Parameters:
      edgeMap - the map to use for storage
  • Method Details

    • containsEdge

      public boolean containsEdge​(E e)
      Check if an edge exists
      Parameters:
      e - the edge
      Returns:
      true if the edge exists, false otherwise
    • getEdgeSet

      public java.util.Set<E> getEdgeSet()
      Get the edge set.
      Returns:
      an unmodifiable edge set
    • remove

      public void remove​(E e)
      Remove an edge.
      Parameters:
      e - the edge
    • getEdgeSource

      public V getEdgeSource​(E e)
      Get the source of an edge.
      Parameters:
      e - the edge
      Returns:
      the source vertex of an edge
    • getEdgeTarget

      public V getEdgeTarget​(E e)
      Get the target of an edge.
      Parameters:
      e - the edge
      Returns:
      the target vertex of an edge
    • getEdgeWeight

      public double getEdgeWeight​(E e)
      Get the weight of an edge.
      Parameters:
      e - the edge
      Returns:
      the weight of an edge
    • setEdgeWeight

      public void setEdgeWeight​(E e, double weight)
      Set the weight of an edge
      Parameters:
      e - the edge
      weight - the new weight
    • add

      public abstract boolean add​(E e, V sourceVertex, V targetVertex)
      Add a new edge
      Parameters:
      e - the edge
      sourceVertex - the source vertex of the edge
      targetVertex - the target vertex of the edge
      Returns:
      true if the edge was added, false if the edge was already present
    • addIntrusiveEdge

      protected boolean addIntrusiveEdge​(E edge, V sourceVertex, V targetVertex, IE e)
    • getIntrusiveEdge

      protected abstract IE getIntrusiveEdge​(E e)
      Get the intrusive edge of an edge.
      Parameters:
      e - the edge
      Returns:
      the intrusive edge