mapss.dif.csdf.sdf
Class SDFClusterManager

java.lang.Object
  extended by mapss.dif.DIFClusterManager
      extended by mapss.dif.csdf.sdf.SDFClusterManager

public class SDFClusterManager
extends DIFClusterManager

A graph class specializing in maintaining SDF cluster hierarchy. It is usually instanciated to distinguished away from the original flattened graph.

Version:
$Id: SDFClusterManager.java 406 2007-05-10 14:27:07Z plishker $
Author:
Mingyung Ko

Constructor Summary
SDFClusterManager(SDFGraph graph)
          A constructor with the original graph.
 
Method Summary
protected  java.util.List _clusterNodesComplete(DIFGraph graph, java.util.Collection nodeCollection, mocgraph.Node superNode)
          Given a collection of nodes in the given graph, replace the subgraph induced by the node collection with a single node N.
protected  DIFEdgeWeight _newEdgeWeight()
          Return an SDF edge weight for a newly created edge in clustering process.
protected  DIFNodeWeight _newNodeWeight()
          Return an SDF node weight for a newly created node in clustering process.
 
Methods inherited from class mapss.dif.DIFClusterManager
_getEdgeMap, _isReachable, _isReachable, _newSuperNode, _reachInNodes, _reachInNodes, _reachOutNodes, _reachOutNodes, _setSuperNode, _updateReachability, clusterNodes, clusterNodes, getGraph, getOriginalEdge, getRootNode, getSubgraph, isSuperNode, testAcyclicClustering
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SDFClusterManager

public SDFClusterManager(SDFGraph graph)
A constructor with the original graph. The original graph must be an instance of SDFGraph.

Method Detail

_clusterNodesComplete

protected java.util.List _clusterNodesComplete(DIFGraph graph,
                                               java.util.Collection nodeCollection,
                                               mocgraph.Node superNode)
Given a collection of nodes in the given graph, replace the subgraph induced by the node collection with a single node N. Depending on users' demand of the clustering functions, multiple results can be generated and returned. Therefore, a List is returned which contains these results and users should be aware of what they are (and their squence in the list). By default, this method returns both the induced subgraph and a map from newly created edges to old edges replaced.

Overrides:
_clusterNodesComplete in class DIFClusterManager
Parameters:
nodeCollection - The collection of nodes.
superNode - The super node that will replace the node collection.
graph - The given graph.
Returns:
A list with the first element the subgraph and the second element a map of edges.

_newEdgeWeight

protected DIFEdgeWeight _newEdgeWeight()
Return an SDF edge weight for a newly created edge in clustering process.

Overrides:
_newEdgeWeight in class DIFClusterManager
Returns:
An SDF edge weight.

_newNodeWeight

protected DIFNodeWeight _newNodeWeight()
Return an SDF node weight for a newly created node in clustering process.

Overrides:
_newNodeWeight in class DIFClusterManager
Returns:
An SDF node weight.