suvi.alg.interfaces
Interface GraphTopology


public interface GraphTopology

Allows a policy to query information about the topology of the original graph that was supressed during preprocessing.


Method Summary
 boolean isVirtual(java.lang.Object node)
          True if and only if the node is virtual.
 java.util.List originalEdgesOf(java.lang.Object preprocessedEdge)
          List of the original edges that constitute the given preprocessed edge.
 java.util.List originalNodesOf(java.lang.Object virtualNode)
          List of all original nodes that compromise the specified virtual node.
 java.util.List preprocessedEdgesOf(java.lang.Object originalEdge)
          List of the preprocessed edges into which the given original edge has been split.
 java.util.List selfEdgesOf(java.lang.Object node)
          The original self-edges of the given node.
 java.util.List virtualNodes()
          List of all virtual nodes in the preprocessed graph.
 

Method Detail

selfEdgesOf

public java.util.List selfEdgesOf(java.lang.Object node)

The original self-edges of the given node. Note that virtual nodes do not have self-edges. For convenience, calling this method with a virtual node is valid and the result is an empty, unmodifiable list.


isVirtual

public boolean isVirtual(java.lang.Object node)

True if and only if the node is virtual. Note that only the preprocessed graph may have virtual nodes.


virtualNodes

public java.util.List virtualNodes()

List of all virtual nodes in the preprocessed graph.


originalNodesOf

public java.util.List originalNodesOf(java.lang.Object virtualNode)

List of all original nodes that compromise the specified virtual node.


originalEdgesOf

public java.util.List originalEdgesOf(java.lang.Object preprocessedEdge)

List of the original edges that constitute the given preprocessed edge. Note that calling this method with an original edge is invalid.

Note that if one of the original edges has been split, then the edges in the list may not have the same source and target nodes as the given edge.


preprocessedEdgesOf

public java.util.List preprocessedEdgesOf(java.lang.Object originalEdge)

List of the preprocessed edges into which the given original edge has been split. If the original edge was removed during preprocessing, then an empty unmodifiable list should be returned. The edges in the returned list will be ordered from the source node towards the target node of the original edge. Note that calling this method with a preprocessed edge is invalid.