Class AbstractNumberedLabeledGraph<T,U>
java.lang.Object
com.ibm.wala.util.graph.AbstractGraph<T>
com.ibm.wala.util.graph.AbstractNumberedGraph<T>
com.ibm.wala.util.graph.labeled.AbstractNumberedLabeledGraph<T,U>
- All Implemented Interfaces:
EdgeManager<T>, Graph<T>, LabeledEdgeManager<T,U>, LabeledGraph<T, U>, NumberedLabeledEdgeManager<T, U>, NumberedLabeledGraph<T, U>, NodeManager<T>, NumberedEdgeManager<T>, NumberedGraph<T>, NumberedNodeManager<T>, Iterable<T>
- Direct Known Subclasses:
SlowSparseNumberedLabeledGraph
public abstract class AbstractNumberedLabeledGraph<T,U>
extends AbstractNumberedGraph<T>
implements LabeledGraph<T,U>, NumberedLabeledGraph<T,U>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadds an edge with some labelprotected StringedgeString(T from, T to) @Nullable USets the default object used as label for operations where no specific edge label is provided.getEdgeLabels(T src, T dst) Returns a set of all labeled edges between node src and node dstprotected abstract NumberedLabeledEdgeManager<T, U> getPredLabels(T N) intgetPredNodeCount(T N, U label) Return the number ofimmediate predecessornodes of this Node in the Graph on edges with some label.getPredNodeNumbers(T node, U label) getPredNodes(T N, U label) Return an Iterator over the immediate predecessor nodes of this Node in the Graph on edges with some label.getSuccLabels(T N) intgetSuccNodeCount(T N, U label) Return the number ofimmediate successornodes of this Node in the GraphgetSuccNodeNumbers(T node, U label) getSuccNodes(T N, U label) Return an Iterator over the immediate successor nodes of this Node in the Graph on edges with some label.booleanvoidremoveEdge(T src, T dst, U label) Methods inherited from class AbstractNumberedGraph
getMaxNumber, getNode, getNodeManager, getNumber, getPredNodeNumbers, getSuccNodeNumbers, iterateNodesMethods inherited from class AbstractGraph
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, nodeString, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, stream, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface EdgeManager
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdgesMethods inherited from interface Graph
removeNodeAndEdgesMethods inherited from interface Iterable
forEach, spliteratorMethods inherited from interface LabeledEdgeManager
getPredNodesMethods inherited from interface NodeManager
addNode, containsNode, getNumberOfNodes, iterator, removeNode, streamMethods inherited from interface NumberedEdgeManager
getPredNodeNumbers, getSuccNodeNumbersMethods inherited from interface NumberedNodeManager
getMaxNumber, getNode, getNumber, iterateNodes
-
Constructor Details
-
AbstractNumberedLabeledGraph
public AbstractNumberedLabeledGraph()
-
-
Method Details
-
getEdgeManager
- Specified by:
getEdgeManagerin classAbstractNumberedGraph<T>- Returns:
- the object which manages edges in the graph
-
addEdge
Description copied from interface:LabeledEdgeManageradds an edge with some label- Specified by:
addEdgein interfaceLabeledEdgeManager<T,U>
-
getPredLabels
- Specified by:
getPredLabelsin interfaceLabeledEdgeManager<T,U> - Returns:
- the labels on edges whose destination is N
-
getPredNodeCount
Description copied from interface:LabeledEdgeManagerReturn the number ofimmediate predecessornodes of this Node in the Graph on edges with some label.- Specified by:
getPredNodeCountin interfaceLabeledEdgeManager<T,U> - Returns:
- the number of immediate predecessor Nodes of this Node in the Graph.
-
getPredNodes
Description copied from interface:LabeledEdgeManagerReturn an Iterator over the immediate predecessor nodes of this Node in the Graph on edges with some label.This method never returns
null.- Specified by:
getPredNodesin interfaceLabeledEdgeManager<T,U> - Returns:
- an Iterator over the immediate predecessor nodes of this Node.
-
getSuccLabels
- Specified by:
getSuccLabelsin interfaceLabeledEdgeManager<T,U> - Returns:
- the labels on edges whose source is N
-
getSuccNodeCount
Description copied from interface:LabeledEdgeManagerReturn the number ofimmediate successornodes of this Node in the Graph- Specified by:
getSuccNodeCountin interfaceLabeledEdgeManager<T,U> - Returns:
- the number of immediate successor Nodes of this Node in the Graph.
-
getSuccNodes
Description copied from interface:LabeledEdgeManagerReturn an Iterator over the immediate successor nodes of this Node in the Graph on edges with some label.This method never returns
null.- Specified by:
getSuccNodesin interfaceLabeledEdgeManager<T,U> - Returns:
- an Iterator over the immediate successor Nodes of this Node.
-
getPredNodeNumbers
- Specified by:
getPredNodeNumbersin interfaceNumberedLabeledEdgeManager<T,U> - Throws:
IllegalArgumentException
-
getSuccNodeNumbers
- Specified by:
getSuccNodeNumbersin interfaceNumberedLabeledEdgeManager<T,U> - Throws:
IllegalArgumentException
-
hasEdge
-
removeEdge
- Specified by:
removeEdgein interfaceLabeledEdgeManager<T,U>
-
getEdgeLabels
Description copied from interface:LabeledEdgeManagerReturns a set of all labeled edges between node src and node dst- Specified by:
getEdgeLabelsin interfaceLabeledEdgeManager<T,U> - Parameters:
src- source node of the edgedst- target node of the edge- Returns:
- Set of edge labels
-
getDefaultLabel
Description copied from interface:LabeledEdgeManagerSets the default object used as label for operations where no specific edge label is provided. This is due to compatibility with the EdgeManager interface- Specified by:
getDefaultLabelin interfaceLabeledEdgeManager<T,U>
-
edgeString
- Overrides:
edgeStringin classAbstractGraph<T>
-