## net.sourceforge.pmd.rules.design
Class SwitchDensityRule

    java.lang.Object
      net.sourceforge.pmd.ast.JavaParserVisitorAdapter
          net.sourceforge.pmd.AbstractRule
              net.sourceforge.pmd.stat.StatisticalRule
                  net.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, externalInfoUrl, include, message, name, priority, properties, ruleSetName, usesDFA`

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, addViolation, addViolationWithMessage, equals, getBooleanProperty, getDeclaringType, getDescription, getDoubleProperty, getExample, getExternalInfoUrl, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getRuleSetName, getStringProperty, hashCode, hasProperty, include, setDescription, setExample, setExternalInfoUrl, setInclude, setMessage, setName, setPriority, setRuleSetName, setUsesDFA, usesDFA, 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, 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-2006 InfoEther. All Rights Reserved.