net.sourceforge.pmd.rules.design
Class SwitchDensityRule

java.lang.Object
  extended bynet.sourceforge.pmd.ast.JavaParserVisitorAdapter
      extended bynet.sourceforge.pmd.AbstractRule
          extended bynet.sourceforge.pmd.stat.StatisticalRule
              extended bynet.sourceforge.pmd.rules.design.SwitchDensityRule
All Implemented Interfaces:
JavaParserVisitor, Rule

public class SwitchDensityRule
extends StatisticalRule

Author:
dpeugh

Switch Density - This is the number of statements over the number of cases within a switch. The higher the value, the more work each case is doing.

Its my theory, that when the Switch Density is high, you should start looking at Subclasses or State Pattern to alleviate the problem.


Field Summary
 
Fields inherited from class net.sourceforge.pmd.stat.StatisticalRule
DELTA
 
Fields inherited from class net.sourceforge.pmd.AbstractRule
description, example, include, message, name, priority, properties, ruleSetName, usesDFA, usesSymbolTable
 
Fields inherited from interface net.sourceforge.pmd.Rule
LOWEST_PRIORITY, PRIORITIES
 
Constructor Summary
SwitchDensityRule()
           
 
Method Summary
 java.lang.Object visit(ASTStatement statement, java.lang.Object data)
           
 java.lang.Object visit(ASTSwitchLabel switchLabel, java.lang.Object data)
           
 java.lang.Object visit(ASTSwitchStatement node, java.lang.Object data)
           
 
Methods inherited from class net.sourceforge.pmd.stat.StatisticalRule
addDataPoint, apply, applyMinimumValue, applyTopScore, getMean, getStdDev, makeViolations
 
Methods inherited from class net.sourceforge.pmd.AbstractRule
addProperties, addProperty, addViolation, addViolation, createRuleViolation, createRuleViolation, createRuleViolation, createRuleViolation, createRuleViolation, equals, getBooleanProperty, getDeclaringType, getDescription, getDoubleProperty, getExample, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getRuleSetName, getStringProperty, hashCode, hasProperty, include, setDescription, setExample, setInclude, setMessage, setName, setPackageName, setPriority, setRuleSetName, setUsesDFA, setUsesSymbolTable, usesDFA, usesSymbolTable, visit, visit, visit, visitAll
 
Methods inherited from class net.sourceforge.pmd.ast.JavaParserVisitorAdapter
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SwitchDensityRule

public SwitchDensityRule()
Method Detail

visit

public java.lang.Object visit(ASTSwitchStatement node,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

visit

public java.lang.Object visit(ASTStatement statement,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

visit

public java.lang.Object visit(ASTSwitchLabel switchLabel,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter


Copyright © 2002-2005 InfoEther. All Rights Reserved.