Contains the Class Design checks that are bundled with the main distribution.
Class Summary Class Description DesignForExtensionCheckChecks that classes are designed for extension (subclass creation). FinalClassCheckChecks that a class that has only private constructors and has no descendant classes is declared as final. FinalClassCheck.ClassDescMaintains information about the class. FinalClassCheck.TypeDeclarationDescriptionMaintains information about the type of declaration. HideUtilityClassConstructorCheckMakes sure that utility classes (classes that contain only static methods or fields in their API) do not have a public constructor. HideUtilityClassConstructorCheck.DetailsDetails of class that are required for validation. InnerTypeLastCheckChecks nested (internal) classes/interfaces are declared at the bottom of the primary (top-level) class after all init and static init blocks, method, constructor and field declarations. InterfaceIsTypeCheckImplements Joshua Bloch, Effective Java, Item 17 - Use Interfaces only to define types. MutableExceptionCheckEnsures that exception classes (classes with names conforming to some pattern and explicitly extending classes with names conforming to other pattern) are immutable, that is, that they have only final fields. OneTopLevelClassCheckChecks that each top-level class, interface, enum or annotation resides in a source file of its own. ThrowsCountCheckRestricts throws statements to a specified count. VisibilityModifierCheckChecks visibility of class members.