Class ExcessivePublicCountRule

java.lang.Object
net.sourceforge.pmd.properties.AbstractPropertySource
net.sourceforge.pmd.lang.rule.AbstractRule
net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
net.sourceforge.pmd.lang.java.rule.AbstractJavaRulechainRule
net.sourceforge.pmd.lang.java.rule.internal.AbstractJavaCounterCheckRule<ASTTypeDeclaration>
net.sourceforge.pmd.lang.java.rule.design.ExcessivePublicCountRule
All Implemented Interfaces:
net.sourceforge.pmd.lang.ast.AstVisitor, JavaVisitor, net.sourceforge.pmd.lang.rule.Rule, net.sourceforge.pmd.properties.PropertySource

public class ExcessivePublicCountRule extends net.sourceforge.pmd.lang.java.rule.internal.AbstractJavaCounterCheckRule<ASTTypeDeclaration>
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.

Author:
aglover
  • Constructor Details

    • ExcessivePublicCountRule

      public ExcessivePublicCountRule()
  • Method Details

    • defaultReportLevel

      protected int defaultReportLevel()
      Specified by:
      defaultReportLevel in class net.sourceforge.pmd.lang.java.rule.internal.AbstractJavaCounterCheckRule<ASTTypeDeclaration>
    • isViolation

      protected boolean isViolation(ASTTypeDeclaration node, int reportLevel)
      Specified by:
      isViolation in class net.sourceforge.pmd.lang.java.rule.internal.AbstractJavaCounterCheckRule<ASTTypeDeclaration>