Contains the Class Design checks that are bundled with the main distribution.
More specifically, it enforces a programming style where superclasses provide empty "hooks" that can be implemented by subclasses.
The exact rule is that nonprivate, nonstatic methods in nonfinal classes (or classes that do not only have private constructors) must either be
This protects superclasses against beeing broken by subclasses.
Checks that class which has only private ctors is declared as final.
Ensures that exceptions (defined as any class name conforming to some regular expression) are immutable.
Restricts throws statements to a specified count (default = 1).
Rationale: Exceptions form part of a methods interface.