Class ExcessiveNodeCountRule

  • All Implemented Interfaces:
    ApexParserVisitor, net.sourceforge.pmd.lang.rule.ImmutableLanguage, net.sourceforge.pmd.lang.rule.stat.StatisticalRule, net.sourceforge.pmd.properties.PropertySource, net.sourceforge.pmd.renderers.CodeClimateRule, net.sourceforge.pmd.Rule
    Direct Known Subclasses:
    ExcessiveParameterListRule, ExcessivePublicCountRule

    public class ExcessiveNodeCountRule
    extends AbstractStatisticalApexRule
    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.)

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface net.sourceforge.pmd.renderers.CodeClimateRule

        net.sourceforge.pmd.renderers.CodeClimateRule.CodeClimateCategory
    • Field Summary

      • Fields inherited from class net.sourceforge.pmd.properties.AbstractPropertySource

        propertyDescriptors, propertyValuesByDescriptor
      • Fields inherited from interface net.sourceforge.pmd.renderers.CodeClimateRule

        CODECLIMATE_BLOCK_HIGHLIGHTING, CODECLIMATE_CATEGORIES, CODECLIMATE_REMEDIATION_MULTIPLIER
      • Fields inherited from interface net.sourceforge.pmd.Rule

        VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
      • Fields inherited from interface net.sourceforge.pmd.lang.rule.stat.StatisticalRule

        MINIMUM_DESCRIPTOR, SIGMA_DESCRIPTOR, TOP_SCORE_DESCRIPTOR
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Object visit​(ApexNode<?> node, Object data)  
      • Methods inherited from class net.sourceforge.pmd.lang.rule.AbstractRule

        addExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, deepCopy, deepCopyValuesTo, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getPriority, getPropertySourceType, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, hashCode, isDeprecated, isDfa, isMultifile, isRuleChain, isTypeResolution, setDeprecated, setDescription, setDfa, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setMultifile, setName, setPriority, setRuleClass, setRuleSetName, setSince, setTypeResolution, setUsesDFA, setUsesMultifile, setUsesTypeResolution, start, usesDFA, usesMultifile, usesRuleChain, usesTypeResolution
      • Methods inherited from class net.sourceforge.pmd.properties.AbstractPropertySource

        copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, isPropertyOverridden, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
      • Methods inherited from interface net.sourceforge.pmd.properties.PropertySource

        definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, isPropertyOverridden, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
      • Methods inherited from interface net.sourceforge.pmd.Rule

        addExample, addRuleChainVisit, addRuleChainVisit, deepCopy, end, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getParserOptions, getPriority, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, isDeprecated, isDfa, isMultifile, isRuleChain, isTypeResolution, setDeprecated, setDescription, setDfa, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setMultifile, setName, setPriority, setRuleClass, setRuleSetName, setSince, setTypeResolution, setUsesDFA, setUsesMultifile, setUsesTypeResolution, start, usesDFA, usesMultifile, usesRuleChain, usesTypeResolution