## com.puppycrawl.tools.checkstyle.checks.coding
Class RequireThisCheck

    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.DeclarationCollector
                      com.puppycrawl.tools.checkstyle.checks.coding.RequireThisCheck

All Implemented Interfaces:
  Configurable, Contextualizable

    public class RequireThisCheck

extends DeclarationCollector

Checks that code doesn't rely on the "this" default. That is references to instance variables and methods of the present object are explicitly of the form "this.varName" or "this.methodName(args)".

Examples of use:

     <module name="RequireThis"/>

An example of how to configure to check `this` qualifier for methods only:

     <module name="RequireThis">
       <property name="checkFields" value="false"/>
       <property name="checkMethods" value="true"/>
     </module>

Limitations: I'm not currently doing anything about static variables or catch-blocks. Static methods invoked on a class name seem to be OK; both the class name and the method name have a DOT parent. Non-static methods invoked on either this or a variable name seem to be OK, likewise.

Much of the code for this check was cribbed from Rick Giles's `HiddenFieldCheck`.

Author:
  Stephen Bloch, o_sukhodolsky

Constructor Summary
`RequireThisCheck()` Creates new instance of the check.

Method Summary
`boolean` `getCheckFields()`
`boolean` `getCheckMethods()`
`int[]` `getDefaultTokens()` Returns the default token a check is interested in.
`int[]` `getRequiredTokens()` The tokens that this check must be registered for.
`void` `setCheckFields(boolean aCheckFields)` Setter for checkFields property.
`void` `setCheckMethods(boolean aCheckMethods)` Setter for checkMethods property.
`void` `visitToken(DetailAST aAST)` Called to process a token.

Methods inherited from class com.puppycrawl.tools.checkstyle.checks.DeclarationCollector
`beginTree, isClassField, isDeclared, leaveToken`

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

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
`getId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, 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

### RequireThisCheck

    public RequireThisCheck()

  Creates new instance of the check.

Method Detail

### setCheckFields

    public void setCheckFields(boolean aCheckFields)

  Setter for checkFields property.

  Parameters:
    `aCheckFields` - should we check fields usage or not.

### getCheckFields

    public boolean getCheckFields()

  Returns:
    true if we should check fields usage false overwise.

### setCheckMethods

    public void setCheckMethods(boolean aCheckMethods)

  Setter for checkMethods property.

  Parameters:
    `aCheckMethods` - should we check methods usage or not.

### getCheckMethods

    public boolean getCheckMethods()

  Returns:
    true if we should check methods usage false overwise.

### getDefaultTokens

    public int[] getDefaultTokens()

  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`

### getRequiredTokens

    public int[] getRequiredTokens()

  The tokens that this check must be registered for.

  Overrides:
    `getRequiredTokens` in class `Check`
  Returns:
    the token set this must be registered for.
  See Also:
    `TokenTypes`

### visitToken

    public void visitToken(DetailAST aAST)

  Called to process a token.

  Overrides:
    `visitToken` in class `DeclarationCollector`
  Parameters:
    `aAST` - the token to process

Back to the Checkstyle Home Page