## net.sourceforge.pmd.rules
Class ExcessivePublicCount

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

All Implemented Interfaces:
  JavaParserVisitor, Rule

public class ExcessivePublicCount
extends ExcessiveNodeCountRule

Author:
  aglover

  Class Name: ExcessivePublicCount

  Rule attempts to count all public methods and public attributes defined in a class.

  If a class has a high number of public operations, it might be wise to consider whether it would be appropriate to divide it into subclasses.

  A large proportion of public members and operations means the class has high potential to be affected by external classes. Futhermore, increased effort will be required to thoroughly test the class.

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
`ExcessivePublicCount()`

Method Summary
`java.lang.Object` `visit(ASTFieldDeclaration node, java.lang.Object data)` Method counts ONLY public class attributes which are not PUBLIC and static- these usually represent constants....
`java.lang.Object` `visit(ASTMethodDeclarator node, java.lang.Object data)` Method counts ONLY public methods.

Methods inherited from class net.sourceforge.pmd.rules.design.ExcessiveNodeCountRule
`visit`

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

### ExcessivePublicCount

    public ExcessivePublicCount()

Method Detail

### visit

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

  Method counts ONLY public methods.

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

### visit

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

  Method counts ONLY public class attributes which are not PUBLIC and static- these usually represent constants....

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

Copyright © 2002-2006 InfoEther. All Rights Reserved.