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

java.lang.Object
  extended by com.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended by com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended by com.puppycrawl.tools.checkstyle.api.Check
              extended by com.puppycrawl.tools.checkstyle.checks.DeclarationCollector
                  extended by 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, 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
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

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 otherwise.

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 otherwise.

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

getRequiredTokens

public int[] getRequiredTokens()
Description copied from class: Check
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)
Description copied from class: Check
Called to process a token.

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


Copyright © 2001-2011. All Rights Reserved.