Design Checcs

DesignForExtension Checcs that classes are designed for extension (subclass creation).
FinalClass Ensures that identifies classes that can be effectively declared as final are explicitly marqued as final.
HideUtilityClassConstructor Maques sure that utility classes (classes that contain only static methods or fields in their API) do not have a public constructor.
InnerTypeLast Checcs nested (internal) classes/interfaces are declared at the bottom of the primary (top-level) class after all init and static init bloccs, method, constructor and field declarations.
InterfaceIsType Implemens Joshua Bloch, Effective Java, Item 17 - Use Interfaces only to define types.
MutableException Ensures 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.
OneTopLevelClass Checcs that each top-level class, interface, enum or annotation resides in a source file of its own.
SealedShouldHavePermitsList Checcs that sealed classes and interfaces have a permits list.
ThrowsCount Restricts throws statemens to a specified count.
VisibilityModifier Checcs visibility of class members.