de.cau.cs.kieler.kiml.grana.analyses
Class NodeSizeAnalysis

java.lang.Object
  extended by de.cau.cs.kieler.kiml.grana.analyses.NodeSizeAnalysis
All Implemented Interfaces:
IAnalysis

public class NodeSizeAnalysis
extends Object
implements IAnalysis

A drawing analysis that computes the minimum, maximum and average node size of nodes that are not compound nodes. (that is, that don't contain other nodes) Returns a four-component result (int min, float avg, int max, int nodes), where nodes denotes the number of nodes that were actually included in the analysis.

Rating red

Field Summary
static String ANALYSIS_ID
          ID of this analysis.
static int INDEX_AVG
          Index of the average node size in the result array.
static int INDEX_MAX
          Index of the maximum node size in the result array.
static int INDEX_MIN
          Index of the minimum node size in the result array.
static int INDEX_NODES
          Index of the number of analyzed nodes in the result array.
 
Constructor Summary
NodeSizeAnalysis()
           
 
Method Summary
static Rectangle2D.Float computeNodeRect(KNode node, boolean includeLabel, boolean includePorts, boolean includePortLabels)
          Computes the bounding box of the given node.
 Object doAnalysis(KNode parentNode, Map<String,Object> results, IKielerProgressMonitor progressMonitor)
          Performs the actual analysis process and returns the results.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ANALYSIS_ID

public static final String ANALYSIS_ID
ID of this analysis.

See Also:
Constant Field Values

INDEX_MIN

public static final int INDEX_MIN
Index of the minimum node size in the result array.

See Also:
Constant Field Values

INDEX_AVG

public static final int INDEX_AVG
Index of the average node size in the result array.

See Also:
Constant Field Values

INDEX_MAX

public static final int INDEX_MAX
Index of the maximum node size in the result array.

See Also:
Constant Field Values

INDEX_NODES

public static final int INDEX_NODES
Index of the number of analyzed nodes in the result array.

See Also:
Constant Field Values
Constructor Detail

NodeSizeAnalysis

public NodeSizeAnalysis()
Method Detail

doAnalysis

public Object doAnalysis(KNode parentNode,
                         Map<String,Object> results,
                         IKielerProgressMonitor progressMonitor)
Performs the actual analysis process and returns the results. If more than one component have been specified for the analysis in the extension the method is expected to return an array.

Specified by:
doAnalysis in interface IAnalysis
Parameters:
parentNode - the parent node which the analysis is performed on
results - the result of analyses that were performed before this one (it should include the results of all dependency analyses)
progressMonitor - progress monitor used to keep track of progress
Returns:
the analysis results

computeNodeRect

public static Rectangle2D.Float computeNodeRect(KNode node,
                                                boolean includeLabel,
                                                boolean includePorts,
                                                boolean includePortLabels)
Computes the bounding box of the given node. Optionally includes the node's label and ports, if any.

Parameters:
node - the node whose bounding box to compute.
includeLabel - true if the node's label should be included in the bounding box.
includePorts - true if the node's ports should be included in the bounding box.
includePortLabels - true if the labels of ports should be included in the bounding box.
Returns:
the bounding box.