Package com.puppycrawl.tools.checkstyle.checks.design
package com.puppycrawl.tools.checkstyle.checks.design
Contains the Class Design checks that
are bundled with the main distribution.
-
ClassesClassDescriptionChecks that classes are designed for extension (subclass creation).Ensures that identifies classes that can be effectively declared as final are explicitly marked as final.Maintains information about the class.Maintains information about the type of declaration.Makes sure that utility classes (classes that contain only static methods or fields in their API) do not have a public constructor.Details of class that are required for validation.Checks 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.Implements Joshua Bloch, Effective Java, Item 17 - Use Interfaces only to define types.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.Checks that each top-level class, interface, enum or annotation resides in a source file of its own.Checks that sealed classes and interfaces have a permits list.Restricts throws statements to a specified count.Checks visibility of class members.