edu.uci.ics.jung.graph
Class AbstractTypedGraph<V,E>

java.lang.Object
  extended by edu.uci.ics.jung.graph.AbstractGraph<V,E>
      extended by edu.uci.ics.jung.graph.AbstractTypedGraph<V,E>
All Implemented Interfaces:
Graph<V,E>, Hypergraph<V,E>
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.


Field Summary
protected  EdgeType edge_type
          The edge type for all edges in this graph.
 
Constructor Summary
AbstractTypedGraph(EdgeType edge_type)
          Creates an instance with the specified edge type.
 
Method Summary
 EdgeType getDefaultEdgeType()
          Returns this graph's edge type.
 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.
 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.
 EdgeType getEdgeType(E e)
          Returns this graph's edge type, or null if e is not in this graph.
protected  boolean hasEqualEdgeType(EdgeType edge_type)
          Returns true if edge_type matches the default edge type for this graph, and false otherwise.
protected  void validateEdgeType(EdgeType edge_type)
          Throws an IllegalArgumentException if edge_type does not match the default edge type for this graph.
 
Methods inherited from class edu.uci.ics.jung.graph.AbstractGraph
addEdge, addEdge, addEdge, addEdge, addEdge, addEdge, degree, findEdge, findEdgeSet, getIncidentCount, getIncidentVertices, getNeighborCount, getOpposite, getPredecessorCount, getSuccessorCount, getValidatedEndpoints, inDegree, isIncident, isNeighbor, isPredecessor, isSuccessor, outDegree, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.uci.ics.jung.graph.Graph
getDest, getEndpoints, getInEdges, getOutEdges, getPredecessors, getSource, getSuccessors, isDest, isSource
 
Methods inherited from interface edu.uci.ics.jung.graph.Hypergraph
addVertex, containsEdge, containsVertex, getEdgeCount, getEdges, getIncidentEdges, getNeighbors, getVertexCount, getVertices, removeEdge, removeVertex
 

Field Detail

edge_type

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

Constructor Detail

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 Detail

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.

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:
EdgeType

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)
Returns true if edge_type matches the default edge type for this graph, and false otherwise.

Parameters:
edge_type - the edge type to compare to this instance's default edge type

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


Copyright © 2009. All Rights Reserved.