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

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

public class AvoidStarImportCheck
extends Check

Check that finds import statements that use the * notation.

Rationale: Importing all classes from a package or static members from a class leads to tight coupling between packages or classes and might lead to problems when a new version of a library introduces name clashes.

An example of how to configure the check is:

 <module name="AvoidStarImport">
   <property name="excludes" value="java.io,java.net,java.lang.Math"/>
   <property name="allowClassImports" value="false"/>
   <property name="allowStaticMemberImports" value="false"/>
 </module>
 
The optional "excludes" property allows for certain packages like java.io or java.net to be exempted from the rule. It also is used to allow certain classes like java.lang.Math or java.io.File to be excluded in order to support static member imports. The optional "allowClassImports" when set to true, will allow starred class imports but will not affect static member imports. The optional "allowStaticMemberImports" when set to true will allow starred static member imports but will not affect class imports.

Version:
2.0
Author:
Oliver Burn, Bill Schneider, Travis Schneeberger

Constructor Summary
AvoidStarImportCheck()
           
 
Method Summary
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 void setAllowClassImports(boolean aAllow)
          Sets whether or not to allow all non-static class imports.
 void setAllowStaticMemberImports(boolean aAllow)
          Sets whether or not to allow all static member imports.
 void setExcludes(String[] aExcludes)
          Sets the list of packages or classes 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

AvoidStarImportCheck

public AvoidStarImportCheck()
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 packages or classes to be exempt from the check. The excludes can contain a .* or not.

Parameters:
aExcludes - a list of package names/fully-qualifies class names where star imports are ok

setAllowClassImports

public void setAllowClassImports(boolean aAllow)
Sets whether or not to allow all non-static class imports.

Parameters:
aAllow - true to allow false to disallow

setAllowStaticMemberImports

public void setAllowStaticMemberImports(boolean aAllow)
Sets whether or not to allow all static member imports.

Parameters:
aAllow - true to allow false to disallow

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


Copyright © 2001-2011. All Rights Reserved.