Class DirectedEdgeContainer<V,E>

java.lang.Object
org.jgrapht.graph.specifics.DirectedEdgeContainer<V,E>
Type Parameters:
V - the graph vertex type
E - the graph edge type
All Implemented Interfaces:
Serializable

public class DirectedEdgeContainer<V,E> extends Object implements Serializable
A container for vertex edges.

In this edge container we use array lists to minimize memory toll. However, for high-degree vertices we replace the entire edge container with a direct access subclass (to be implemented).

See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • incoming

      Set<E> incoming
    • outgoing

      Set<E> outgoing
    • unmodifiableIncoming

      private transient Set<E> unmodifiableIncoming
    • unmodifiableOutgoing

      private transient Set<E> unmodifiableOutgoing
  • Constructor Details

    • DirectedEdgeContainer

      DirectedEdgeContainer(EdgeSetFactory<V,E> edgeSetFactory, V vertex)
  • Method Details

    • getUnmodifiableIncomingEdges

      public Set<E> getUnmodifiableIncomingEdges()
      A lazy build of unmodifiable incoming edge set.
      Returns:
      an unmodifiable version of the incoming edge set
    • getUnmodifiableOutgoingEdges

      public Set<E> getUnmodifiableOutgoingEdges()
      A lazy build of unmodifiable outgoing edge set.
      Returns:
      an unmodifiable version of the outgoing edge set
    • addIncomingEdge

      public void addIncomingEdge(E e)
      Add an incoming edge.
      Parameters:
      e - the edge to add
    • addOutgoingEdge

      public void addOutgoingEdge(E e)
      Add an outgoing edge.
      Parameters:
      e - the edge to add
    • removeIncomingEdge

      public void removeIncomingEdge(E e)
      Remove an incoming edge.
      Parameters:
      e - the edge to remove
    • removeOutgoingEdge

      public void removeOutgoingEdge(E e)
      Remove an outgoing edge.
      Parameters:
      e - the edge to remove