Class AbstractTypedGraph<V,E>

java.lang.Object
edu.uci.ics.jung.graph.AbstractGraph<V,E>
edu.uci.ics.jung.graph.AbstractTypedGraph<V,E>
All Implemented Interfaces:
Graph<V,E>, Hypergraph<V,E>, Serializable
Direct Known Subclasses:
DirectedSparseGraph, DirectedSparseMultigraph, OrderedKAryTree, UndirectedSparseGraph, UndirectedSparseMultigraph

public abstract class AbstractTypedGraph<V,E> extends AbstractGraph<V,E>
An abstract class for graphs whose edges all have the same EdgeType. Intended to simplify the implementation of such graph classes.
See Also:
  • Field Details

    • edge_type

      protected final EdgeType edge_type
      The edge type for all edges in this graph.
  • Constructor Details

    • AbstractTypedGraph

      public AbstractTypedGraph(EdgeType edge_type)
      Creates an instance with the specified edge type.
      Parameters:
      edge_type - the type of edges that this graph accepts
  • Method Details

    • getDefaultEdgeType

      public EdgeType getDefaultEdgeType()
      Returns this graph's edge type.
      Returns:
      the default edge type for this graph
    • getEdgeType

      public EdgeType getEdgeType(E e)
      Returns this graph's edge type, or null if e is not in this graph.
      Parameters:
      e - the edge whose type is to be returned
      Returns:
      the EdgeType of edge, or null if edge has no defined type
    • getEdges

      public Collection<E> getEdges(EdgeType edge_type)
      Returns the edge set for this graph if edgeType matches the edge type for this graph, and an empty set otherwise.
      Parameters:
      edge_type - the type of edges to be returned
      Returns:
      the collection of edges which are of type edge_type, or null if the graph does not accept edges of this type
      See Also:
    • getEdgeCount

      public int getEdgeCount(EdgeType edge_type)
      Returns the edge count for this graph if edge_type matches the edge type for this graph, and 0 otherwise.
      Parameters:
      edge_type - the type of edge for which the count is to be returned
      Returns:
      the number of edges of type edge_type in this graph
    • hasEqualEdgeType

      protected boolean hasEqualEdgeType(EdgeType edge_type)
      Parameters:
      edge_type - the edge type to compare to this instance's default edge type
      Returns:
      true if edge_type matches the default edge type for this graph, and false otherwise
    • validateEdgeType

      protected void validateEdgeType(EdgeType edge_type)
      Throws an IllegalArgumentException if edge_type does not match the default edge type for this graph.
      Parameters:
      edge_type - the edge type to compare to this instance's default edge type