Logo Search packages:      
Sourcecode: libjgrapht-java version File versions  Download package

org::_3pq::jgrapht::graph::AbstractBaseGraph Class Reference

Inheritance diagram for org::_3pq::jgrapht::graph::AbstractBaseGraph:

org::_3pq::jgrapht::graph::AbstractGraph org::_3pq::jgrapht::Graph org::_3pq::jgrapht::Graph org::_3pq::jgrapht::graph::DefaultDirectedGraph org::_3pq::jgrapht::graph::DirectedMultigraph org::_3pq::jgrapht::graph::Multigraph org::_3pq::jgrapht::graph::Pseudograph org::_3pq::jgrapht::graph::SimpleDirectedGraph org::_3pq::jgrapht::graph::SimpleGraph org::_3pq::jgrapht::graph::DefaultDirectedWeightedGraph org::_3pq::jgrapht::graph::DirectedWeightedMultigraph org::_3pq::jgrapht::graph::WeightedMultigraph org::_3pq::jgrapht::graph::WeightedPseudograph org::_3pq::jgrapht::graph::SimpleDirectedWeightedGraph org::_3pq::jgrapht::graph::SimpleWeightedGraph

List of all members.


Detailed Description

The most general implementation of the org._3pq.jgrapht.Graph interface. Its subclasses add various restrictions to get more specific graphs. The decision whether it is directed or undirected is decided at construction time and cannot be later modified (see constructor for details).

This graph implementation guarantees deterministic vertex and edge set ordering (via LinkedHashMap and LinkedHashSet).

Author:
Barak Naveh
Since:
Jul 24, 2003

Definition at line 79 of file AbstractBaseGraph.java.


Public Member Functions

 AbstractBaseGraph (EdgeFactory ef, boolean allowMultipleEdges, boolean allowLoops)
boolean addAllEdges (Collection edges)
boolean addAllVertices (Collection vertices)
boolean addEdge (Edge e)
Edge addEdge (Object sourceVertex, Object targetVertex)
boolean addVertex (Object v)
Object clone ()
boolean containsEdge (Object sourceVertex, Object targetVertex)
boolean containsEdge (Edge e)
boolean containsVertex (Object v)
int degreeOf (Object vertex)
Set edgeSet ()
List edgesOf (Object vertex)
List getAllEdges (Object sourceVertex, Object targetVertex)
Edge getEdge (Object sourceVertex, Object targetVertex)
EdgeFactory getEdgeFactory ()
List incomingEdgesOf (Object vertex)
int inDegreeOf (Object vertex)
boolean isAllowingLoops ()
boolean isAllowingMultipleEdges ()
int outDegreeOf (Object vertex)
List outgoingEdgesOf (Object vertex)
List removeAllEdges (Object sourceVertex, Object targetVertex)
boolean removeAllEdges (Collection edges)
boolean removeAllVertices (Collection vertices)
boolean removeEdge (Edge e)
Edge removeEdge (Object sourceVertex, Object targetVertex)
boolean removeVertex (Object v)
void setEdgeListFactory (EdgeListFactory edgeListFactory)
String toString ()
Set vertexSet ()

Protected Member Functions

boolean assertVertexExist (Object v)
boolean removeAllEdges (Edge[] edges)
String toStringFromSets (Collection vertexSet, Collection edgeSet)

Package Attributes

boolean m_allowingLoops
Map m_vertexMap

Private Member Functions

boolean assertCompatibleWithEdgeFactory (Edge e)
Specifics createSpecifics ()

Private Attributes

boolean m_allowingMultipleEdges
EdgeFactory m_edgeFactory
EdgeListFactory m_edgeListFactory
Set m_edgeSet
Class m_factoryEdgeClass
Specifics m_specifics
transient Set m_unmodifiableEdgeSet = null
transient Set m_unmodifiableVertexSet = null

Static Private Attributes

static final String LOOPS_NOT_ALLOWED = "loops not allowed"

Classes

class  ArrayListFactory
class  DirectedEdgeContainer
class  DirectedSpecifics
class  Specifics
class  UndirectedEdgeContainer
class  UndirectedSpecifics

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index