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

Class Summary
Class | Description
--- | ---
AccessorClassGenerationRule | 1.
AssignmentToNonFinalStaticRule |
AvoidDeeplyNestedIfStmtsRule |
AvoidReassigningParametersRule |
CloseResourceRule | Makes sure you close your database connections.
CompareObjectsWithEqualsRule |
ConfusingTernaryRule | if (x !
ConstructorCallsOverridableMethodRule | Searches through all methods and constructors called from constructors.
ExcessiveLengthRule | This is a common super class for things which have excessive length.
ExcessiveNodeCountRule | This is a common super class for things which shouldn't have excessive nodes underneath.
GenericClassCounterRule | A generic rule that can be configured to "count" classes of certain type based on either their name (full name, prefix, suffixes anything can be matched with a regex), and/or their type.
GodClassRule | The God Class Rule detects a the God Class design flaw using metrics.
IdempotentOperationsRule |
ImmutableFieldRule |
NonThreadSafeSingletonRule |
PositionalIteratorRule |
PreserveStackTraceRule |
SimplifyBooleanReturnsRule |
SingularFieldRule |
SwitchDensityRule |
UnnecessaryLocalBeforeReturnRule |
UnsynchronizedStaticDateFormatterRule | Using a DateFormatter (SimpleDateFormatter) which is static can cause unexpected results when used in a multi-threaded environment.
UseCollectionIsEmptyRule | Detect structures like "foo.size() == 0" and suggest replacing them with foo.isEmpty().
UseSingletonRule |