## com.puppycrawl.tools.checkstyle.checks.naming
Class MethodNameCheck

    java.lang.Object
      com.puppycrawl.tools.checkstyle.api.AutomaticBean
          com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
              com.puppycrawl.tools.checkstyle.api.Check
                  com.puppycrawl.tools.checkstyle.checks.AbstractFormatCheck
                      com.puppycrawl.tools.checkstyle.checks.naming.AbstractNameCheck
                          com.puppycrawl.tools.checkstyle.checks.naming.AbstractAccessControlNameCheck
                              com.puppycrawl.tools.checkstyle.checks.naming.MethodNameCheck

All Implemented Interfaces:
  Configurable, Contextualizable

    public class MethodNameCheck

extends AbstractAccessControlNameCheck

Checks that method names conform to a format specified by the format property. The format is a `regular expression` and defaults to ^[a-z][a-zA-Z0-9]*$.

Also, checks if a method name has the same name as the residing class. The default is false (it is not allowed). It is legal in Java to have method with the same name as a class. As long as a return type is specified it is a method and not a constructor which it could be easily confused as.

An example of how to configure the check is:

     <module name="MethodName"/>

An example of how to configure the check for names that begin with a lower case letter, followed by letters, digits, and underscores is:

     <module name="MethodName">
        <property name="format" value="^[a-z](_?[a-zA-Z0-9]+)*$"/>
     </module>

An example of how to configure the check to allow method names to be equal to the residing class name is:

     <module name="MethodName">
        <property name="allowClassName" value="true"/>
     </module>

Version:
  1.1
Author:
  Oliver Burn, Travis Schneeberger

Constructor Summary
`MethodNameCheck()` Creates a new `MethodNameCheck` instance.

Method Summary
`int[]` `getDefaultTokens()` Returns the default token a check is interested in.
`void` `setAllowClassName(boolean aAllowClassName)` Sets the property for allowing a method to be the same name as a class.
`void` `visitToken(DetailAST aAst)` Called to process a token.

Methods inherited from class com.puppycrawl.tools.checkstyle.checks.naming.AbstractAccessControlNameCheck
`getApplyToPackage, getApplyToPrivate, getApplyToProtected, getApplyToPublic, mustCheckName, setApplyToPackage, setApplyToPrivate, setApplyToProtected, setApplyToPublic, shouldCheckInScope`

Methods inherited from class com.puppycrawl.tools.checkstyle.checks.AbstractFormatCheck
`getFormat, getRegexp, setCompileFlags, setFormat`

Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
`beginTree, destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens`

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
`getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverity`

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
`configure, contextualize, finishLocalSetup, getConfiguration, setupChild`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MethodNameCheck

    public MethodNameCheck()

  Creates a new `MethodNameCheck` instance.

Method Detail

### getDefaultTokens

    public int[] getDefaultTokens()

  Description copied from class: `Check`
  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 `Check`
  Returns:
    the default tokens
  See Also:
    `TokenTypes`

### visitToken

    public void visitToken(DetailAST aAst)

  Description copied from class: `Check`
  Called to process a token.

  Overrides:
    `visitToken` in class `AbstractNameCheck`
  Parameters:
    `aAst` - the token to process

### setAllowClassName

    public void setAllowClassName(boolean aAllowClassName)

  Sets the property for allowing a method to be the same name as a class.

  Parameters:
    `aAllowClassName` - true to allow false to disallow

Copyright © 2001-2011. All Rights Reserved.