Class ParameterNumberCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public class ParameterNumberCheck
    extends AbstractCheck

    Checks the number of parameters of a method or constructor.

    • Property ignoreAnnotatedBy - Ignore methods and constructors annotated with the specified annotation(s). Type is java.lang.String[]. Default value is "".
    • Property ignoreOverriddenMethods - Ignore number of parameters for methods with @Override annotation. Type is boolean. Default value is false.
    • Property max - Specify the maximum number of parameters allowed. Type is int. Default value is 7.
    • Property tokens - tokens to check Type is java.lang.String[]. Validation type is tokenSet. Default value is: METHOD_DEF, CTOR_DEF.

    Parent is com.puppycrawl.tools.checkstyle.TreeWalker

    Violation Message Keys:

    • maxParam
    Since:
    3.0
    • Method Detail

      • setMax

        public void setMax​(int max)
        Setter to specify the maximum number of parameters allowed.
        Parameters:
        max - the max allowed parameters
        Since:
        3.0
      • setIgnoreOverriddenMethods

        public void setIgnoreOverriddenMethods​(boolean ignoreOverriddenMethods)
        Setter to ignore number of parameters for methods with @Override annotation.
        Parameters:
        ignoreOverriddenMethods - set ignore overridden methods
        Since:
        6.2
      • setIgnoreAnnotatedBy

        public void setIgnoreAnnotatedBy​(String... annotationNames)
        Setter to ignore methods and constructors annotated with the specified annotation(s).
        Parameters:
        annotationNames - specified annotation(s)
        Since:
        10.15.0
      • 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
      • shouldIgnoreNumberOfParameters

        private boolean shouldIgnoreNumberOfParameters​(DetailAST ast)
        Determine whether to ignore number of parameters.
        Parameters:
        ast - the token to process
        Returns:
        true if number of parameters should be ignored.
      • isIgnoredOverriddenMethod

        private boolean isIgnoredOverriddenMethod​(DetailAST ast)
        Checks if method is overridden and should be ignored.
        Parameters:
        ast - method definition to check
        Returns:
        true if method is overridden and should be ignored.
      • isAnnotatedByIgnoredAnnotations

        private boolean isAnnotatedByIgnoredAnnotations​(DetailAST ast)
        Checks if method or constructor is annotated by ignored annotation(s).
        Parameters:
        ast - method or constructor definition to check
        Returns:
        true if annotated by ignored annotation(s).