com.puppycrawl.tools.checkstyle.checks.imports
Class AvoidStaticImportCheck

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.imports.AvoidStaticImportCheck
All Implemented Interfaces:
Configurable, Contextualizable

public class AvoidStaticImportCheck
extends Check

Check that finds static imports.

Rationale: Importing static members can lead to naming conflicts between class' members. It may lead to poor code readability since it may no longer be clear what class a member resides (without looking at the import statement).

An example of how to configure the check is:

 <module name="AvoidStaticImport">
   <property name="excludes"
       value="java.lang.System.out,java.lang.Math.*"/>
 </module>
 
The optional "excludes" property allows for certain classes via a star notation to be excluded such as java.lang.Math.* or specific static members to be excluded like java.lang.System.out for a variable or java.lang.Math.random for a method.

If you exclude a starred import on a class this automatically excludes each member individually.

For example: Excluding java.lang.Math.* will allow the import of each static member in the Math class individually like java.lang.Math.PI

Version:
1.0
Author:
Travis Schneeberger

Constructor Summary
AvoidStaticImportCheck()
           
 
Method Summary
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 void setExcludes(String[] aExcludes)
          Sets the list of classes or static members to be exempt from the check.
 void visitToken(DetailAST aAST)
          Called to process a token.
 
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

AvoidStaticImportCheck

public AvoidStaticImportCheck()
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

setExcludes

public void setExcludes(String[] aExcludes)
Sets the list of classes or static members to be exempt from the check.

Parameters:
aExcludes - a list of fully-qualified class names/specific static members where static imports are ok

visitToken

public void visitToken(DetailAST aAST)
Description copied from class: Check
Called to process a token.

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

Back to the Checkstyle Home Page