Class ExcessivePublicCountRule
- java.lang.Object
-
- net.sourceforge.pmd.properties.AbstractPropertySource
-
- net.sourceforge.pmd.lang.rule.AbstractRule
-
- net.sourceforge.pmd.lang.apex.rule.AbstractApexRule
-
- net.sourceforge.pmd.lang.apex.rule.internal.AbstractCounterCheckRule<ASTUserClass>
-
- net.sourceforge.pmd.lang.apex.rule.design.ExcessivePublicCountRule
-
- All Implemented Interfaces:
ApexParserVisitor
,ApexVisitor<Object,Object>
,AstVisitor<Object,Object>
,PropertySource
,Rule
public class ExcessivePublicCountRule extends net.sourceforge.pmd.lang.apex.rule.internal.AbstractCounterCheckRule<ASTUserClass>
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:
- ported from Java original of aglover
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sourceforge.pmd.lang.apex.rule.internal.AbstractCounterCheckRule
net.sourceforge.pmd.lang.apex.rule.internal.AbstractCounterCheckRule.AbstractLineLengthCheckRule<T extends ApexNode<?>>
-
-
Field Summary
-
Fields inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
propertyDescriptors, propertyValuesByDescriptor
-
Fields inherited from interface net.sourceforge.pmd.Rule
VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
-
-
Constructor Summary
Constructors Constructor Description ExcessivePublicCountRule()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
defaultReportLevel()
protected int
getMetric(ASTUserClass node)
protected Object[]
getViolationParameters(ASTUserClass node, int metric, int limit)
-
Methods inherited from class net.sourceforge.pmd.lang.apex.rule.internal.AbstractCounterCheckRule
buildTargetSelector, isIgnored, visit
-
Methods inherited from class net.sourceforge.pmd.lang.apex.rule.AbstractApexRule
apply
-
Methods inherited from class net.sourceforge.pmd.lang.rule.AbstractRule
addExample, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, asCtx, deepCopy, deepCopyValuesTo, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getPriority, getPropertySourceType, getRuleClass, getRuleSetName, getSince, getTargetSelector, hashCode, isDeprecated, setDeprecated, setDescription, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setName, setPriority, setRuleClass, setRuleSetName, setSince, start
-
Methods inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, isPropertyOverridden, setProperty, setProperty
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sourceforge.pmd.lang.apex.ast.ApexParserVisitor
visitApexNode, visitNode
-
Methods inherited from interface net.sourceforge.pmd.lang.apex.ast.ApexVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, 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 interface net.sourceforge.pmd.lang.ast.AstVisitor
cannotVisit
-
Methods inherited from interface net.sourceforge.pmd.properties.PropertySource
definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, isPropertyOverridden, setProperty, setProperty
-
Methods inherited from interface net.sourceforge.pmd.Rule
initialize
-
-
-
-
Method Detail
-
defaultReportLevel
protected int defaultReportLevel()
- Specified by:
defaultReportLevel
in classnet.sourceforge.pmd.lang.apex.rule.internal.AbstractCounterCheckRule<ASTUserClass>
-
getMetric
protected int getMetric(ASTUserClass node)
- Specified by:
getMetric
in classnet.sourceforge.pmd.lang.apex.rule.internal.AbstractCounterCheckRule<ASTUserClass>
-
getViolationParameters
protected Object[] getViolationParameters(ASTUserClass node, int metric, int limit)
- Overrides:
getViolationParameters
in classnet.sourceforge.pmd.lang.apex.rule.internal.AbstractCounterCheckRule<ASTUserClass>
-
-