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

    java.lang.Object
      net.sourceforge.pmd.ast.JavaParserVisitorAdapter
          net.sourceforge.pmd.AbstractRule
              net.sourceforge.pmd.stat.StatisticalRule
                  net.sourceforge.pmd.rules.design.ExcessiveNodeCountRule

All Implemented Interfaces:
  JavaParserVisitor, Rule

Direct Known Subclasses:
  ExcessiveImports, ExcessivePublicCount, LongParameterListRule

public class ExcessiveNodeCountRule
extends StatisticalRule

This is a common super class for things which shouldn't have excessive nodes underneath.

It expects all "visit" calls to return an Integer. It will sum all the values it gets, and use that as its score.

To use it, override the "visit" for the nodes that need to be counted. On those return "new Integer(1)"

All others will return 0 (or the sum of counted nodes underneath.)

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
`ExcessiveNodeCountRule(java.lang.Class nodeClass)`

Method Summary
`java.lang.Object` `visit(SimpleJavaNode 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, visit, visit`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ExcessiveNodeCountRule

    public ExcessiveNodeCountRule(java.lang.Class nodeClass)

Method Detail

### visit

    public java.lang.Object visit(SimpleJavaNode node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

Copyright © 2002-2006 InfoEther. All Rights Reserved.