# Hierarchy For Package net.sourceforge.pmd.lang.java.rule.design

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - net.sourceforge.pmd.AbstractPropertySource (implements net.sourceforge.pmd.PropertySource)
    - net.sourceforge.pmd.lang.rule.AbstractRule (implements net.sourceforge.pmd.Rule)
      - net.sourceforge.pmd.lang.java.rule.AbstractJavaRule (implements net.sourceforge.pmd.lang.rule.ImmutableLanguage, net.sourceforge.pmd.lang.java.ast.JavaParserVisitor)
        - net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck
          - net.sourceforge.pmd.lang.java.rule.design.UseCollectionIsEmptyRule
        - net.sourceforge.pmd.lang.java.rule.AbstractStatisticalJavaRule (implements net.sourceforge.pmd.lang.rule.stat.StatisticalRule)
          - net.sourceforge.pmd.lang.java.rule.design.ExcessiveLengthRule
          - net.sourceforge.pmd.lang.java.rule.design.ExcessiveNodeCountRule
          - net.sourceforge.pmd.lang.java.rule.design.SwitchDensityRule
        - net.sourceforge.pmd.lang.java.rule.design.AccessorClassGenerationRule
        - net.sourceforge.pmd.lang.java.rule.design.AssignmentToNonFinalStaticRule
        - net.sourceforge.pmd.lang.java.rule.design.AvoidDeeplyNestedIfStmtsRule
        - net.sourceforge.pmd.lang.java.rule.design.AvoidReassigningParametersRule
        - net.sourceforge.pmd.lang.java.rule.design.CloseResourceRule
        - net.sourceforge.pmd.lang.java.rule.design.CompareObjectsWithEqualsRule
        - net.sourceforge.pmd.lang.java.rule.design.ConfusingTernaryRule
        - net.sourceforge.pmd.lang.java.rule.design.ConstructorCallsOverridableMethodRule
        - net.sourceforge.pmd.lang.java.rule.design.GenericClassCounterRule
        - net.sourceforge.pmd.lang.java.rule.design.GodClassRule
        - net.sourceforge.pmd.lang.java.rule.design.IdempotentOperationsRule
        - net.sourceforge.pmd.lang.java.rule.design.ImmutableFieldRule
        - net.sourceforge.pmd.lang.java.rule.design.NonThreadSafeSingletonRule
        - net.sourceforge.pmd.lang.java.rule.design.PositionalIteratorRule
        - net.sourceforge.pmd.lang.java.rule.design.PreserveStackTraceRule
        - net.sourceforge.pmd.lang.java.rule.design.SimplifyBooleanReturnsRule
        - net.sourceforge.pmd.lang.java.rule.design.SingularFieldRule
        - net.sourceforge.pmd.lang.java.rule.design.UnnecessaryLocalBeforeReturnRule
        - net.sourceforge.pmd.lang.java.rule.design.UnsynchronizedStaticDateFormatterRule
        - net.sourceforge.pmd.lang.java.rule.design.UseSingletonRule