Class MethodCountCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public final class MethodCountCheck
    extends AbstractCheck
    Counts the methods of the type-definition and checks whether this count is higher than the configured limit.
    • Field Detail

      • MSG_PRIVATE_METHODS

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

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

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

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

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

        private static final int DEFAULT_MAX_METHODS
        Default maximum number of methods.
        See Also:
        Constant Field Values
      • maxPrivate

        private int maxPrivate
        Maximum private methods.
      • maxPackage

        private int maxPackage
        Maximum package methods.
      • maxProtected

        private int maxProtected
        Maximum protected methods.
      • maxPublic

        private int maxPublic
        Maximum public methods.
      • maxTotal

        private int maxTotal
        Maximum total number of methods.
    • Constructor Detail

      • MethodCountCheck

        public MethodCountCheck()
    • Method Detail

      • getDefaultTokens

        public int[] getDefaultTokens()
        Description copied from class: AbstractCheck
        Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.
        Specified by:
        getDefaultTokens in class AbstractCheck
        Returns:
        the default tokens
        See Also:
        TokenTypes
      • 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
      • getRequiredTokens

        public int[] getRequiredTokens()
        Description copied from class: AbstractCheck
        The tokens that this check must be registered for.
        Specified by:
        getRequiredTokens in class AbstractCheck
        Returns:
        the token set this must be registered for.
        See Also:
        TokenTypes
      • leaveToken

        public void leaveToken​(DetailAST ast)
        Description copied from class: AbstractCheck
        Called after all the child nodes have been process.
        Overrides:
        leaveToken in class AbstractCheck
        Parameters:
        ast - the token leaving
      • raiseCounter

        private void raiseCounter​(DetailAST method)
        Determine the visibility modifier and raise the corresponding counter.
        Parameters:
        method - The method-subtree from the AbstractSyntaxTree.
      • checkCounters

        private void checkCounters​(MethodCountCheck.MethodCounter counter,
                                   DetailAST ast)
        Check the counters and report violations.
        Parameters:
        counter - the method counters to check
        ast - to report errors against.
      • checkMax

        private void checkMax​(int max,
                              int value,
                              java.lang.String msg,
                              DetailAST ast)
        Utility for reporting if a maximum has been exceeded.
        Parameters:
        max - the maximum allowed value
        value - the actual value
        msg - the message to log. Takes two arguments of value and maximum.
        ast - the AST to associate with the message.
      • setMaxPrivate

        public void setMaxPrivate​(int value)
        Sets the maximum allowed private methods per type.
        Parameters:
        value - the maximum allowed.
      • setMaxPackage

        public void setMaxPackage​(int value)
        Sets the maximum allowed package methods per type.
        Parameters:
        value - the maximum allowed.
      • setMaxProtected

        public void setMaxProtected​(int value)
        Sets the maximum allowed protected methods per type.
        Parameters:
        value - the maximum allowed.
      • setMaxPublic

        public void setMaxPublic​(int value)
        Sets the maximum allowed public methods per type.
        Parameters:
        value - the maximum allowed.
      • setMaxTotal

        public void setMaxTotal​(int value)
        Sets the maximum total methods per type.
        Parameters:
        value - the maximum allowed.