Class ConstructorsDeclarationGroupingCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public class ConstructorsDeclarationGroupingCheck
    extends AbstractCheck

    Checks that all constructors are grouped together. If there is any non-constructor code separating constructors, this check identifies and logs a violation for those ungrouped constructors. The violation message will specify the line number of the last grouped constructor. Comments between constructors are allowed.

    Rationale: Grouping constructors together in a class improves code readability and maintainability. It allows developers to easily understand the different ways an object can be instantiated and the tasks performed by each constructor.

    Parent is com.puppycrawl.tools.checkstyle.TreeWalker

    Violation Message Keys:

    • constructors.declaration.grouping
    Since:
    10.17.0
    • Field Detail

      • MSG_KEY

        public static final java.lang.String MSG_KEY
        A key is pointing to the warning message text in "messages.properties" file.
        See Also:
        Constant Field Values
    • Method Detail

      • getAcceptableTokens

        public int[] getAcceptableTokens()
        Description copied from class: AbstractCheck
        The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.
        Specified by:
        getAcceptableTokens in class AbstractCheck
        Returns:
        the token set this check is designed for.
        See Also:
        TokenTypes
      • getChildList

        private static java.util.List<DetailASTgetChildList​(DetailAST ast)
        Get a list of all children of the given AST.
        Parameters:
        ast - the AST to get children of
        Returns:
        a list of all children of the given AST
      • isConstructor

        private static boolean isConstructor​(DetailAST ast)
        Check if the given AST is a constructor.
        Parameters:
        ast - the AST to check
        Returns:
        true if the given AST is a constructor, false otherwise