# 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 |

Copyright © 2002-2013 InfoEther. All Rights Reserved.