org.acm.seguin.pmd.rules
Class ExcessivePublicCountRule

java.lang.Object
  extended by net.sourceforge.jrefactory.parser.JavaParserVisitorAdapter
      extended by org.acm.seguin.pmd.AbstractRule
          extended by org.acm.seguin.pmd.stat.StatisticalRule
              extended by org.acm.seguin.pmd.rules.design.ExcessiveNodeCountRule
                  extended by org.acm.seguin.pmd.rules.ExcessivePublicCountRule
All Implemented Interfaces:
net.sourceforge.jrefactory.parser.JavaParserVisitor, Rule

public class ExcessivePublicCountRule
extends ExcessiveNodeCountRule

Author:
aglover Class Name: ExcessivePublicCountRule 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 org.acm.seguin.pmd.stat.StatisticalRule
DELTA
 
Fields inherited from interface org.acm.seguin.pmd.Rule
LOWEST_PRIORITY, PRIORITIES
 
Constructor Summary
ExcessivePublicCountRule()
           
 
Method Summary
 java.lang.Object visit(net.sourceforge.jrefactory.ast.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(net.sourceforge.jrefactory.ast.ASTMethodDeclarator node, java.lang.Object data)
          Method counts ONLY public methods.
 
Methods inherited from class org.acm.seguin.pmd.rules.design.ExcessiveNodeCountRule
visit
 
Methods inherited from class org.acm.seguin.pmd.stat.StatisticalRule
addDataPoint, apply, applyMinimumValue, applyTopScore, getMean, getStdDev, makeViolations
 
Methods inherited from class org.acm.seguin.pmd.AbstractRule
addProperty, createRuleViolation, createRuleViolation, equals, getBooleanProperty, getDescription, getDoubleProperty, getExample, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getStringProperty, hashCode, hasProperty, include, setDescription, setExample, setInclude, setMessage, setName, setPriority, visit, visitAll
 
Methods inherited from class net.sourceforge.jrefactory.parser.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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExcessivePublicCountRule

public ExcessivePublicCountRule()
Method Detail

visit

public java.lang.Object visit(net.sourceforge.jrefactory.ast.ASTMethodDeclarator node,
                              java.lang.Object data)
Method counts ONLY public methods.

Specified by:
visit in interface net.sourceforge.jrefactory.parser.JavaParserVisitor
Overrides:
visit in class net.sourceforge.jrefactory.parser.JavaParserVisitorAdapter
Parameters:
node - The node we are visiting
data - The rename type data
Returns:
The rename type data

visit

public java.lang.Object visit(net.sourceforge.jrefactory.ast.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 net.sourceforge.jrefactory.parser.JavaParserVisitor
Overrides:
visit in class net.sourceforge.jrefactory.parser.JavaParserVisitorAdapter
Parameters:
node - The node we are visiting
data - The rename type data
Returns:
The rename type data