chord.util.graph
Interface ILabeledGraph<Node,Label>

Type Parameters:
Node - The type of the graph's nodes.
Label - The type of the labels on the graph's edges.
All Superinterfaces:
IGraph<Node>, java.io.Serializable
All Known Subinterfaces:
ICICG, ICSCG, IMutableLabeledGraph<Node,Label>
All Known Implementing Classes:
CICG, CSCG, MutableLabeledGraph

public interface ILabeledGraph<Node,Label>
extends IGraph<Node>

Specification of an immutable, labeled, directed graph with useful operations on it.

This interface must be used when it is desirable to provide an immutable view of a labeled, directed graph to clients even though the underlying implementation may be that of a mutable graph.

Classes implementing this interface are:

Author:
Mayur Naik (mhn@cs.stanford.edu)

Method Summary
 java.util.Set<Label> getLabels(Node srcNode, Node dstNode)
          Provides the set of all labels on a given directed edge in the graph.
 
Methods inherited from interface chord.util.graph.IGraph
getAllPathsBuilder, getBackEdges, getNodeMap, getNodes, getNodesInCycles, getNodesInRPO, getPreds, getRoots, getShortestPathsBuilder, getSimpleCycles, getSuccs, getTopSortedSCCs, hasCycles, hasEdge, hasNode, hasRoot, isConnected, numNodes, numPreds, numRoots, numSuccs
 

Method Detail

getLabels

java.util.Set<Label> getLabels(Node srcNode,
                               Node dstNode)
Provides the set of all labels on a given directed edge in the graph.

Parameters:
srcNode - The source node of the edge.
dstNode - The target node of the edge.
Returns:
The set of all labels on the edge from srcNode to dstNode in the graph. It is the empty set if either node does not exist, the edge does not exist, or no labels exist on the edge in the graph.