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

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended bycom.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended bycom.puppycrawl.tools.checkstyle.api.Check
              extended bycom.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 leads to tight coupling between packages 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"/>
 </module>
 
The optional "excludes" property allows for certain packages like java.io or java.net to be exempted from the rule. Note that the excludes property is not recursive, subpackages of excluded packages are not automatically excluded.

Version:
1.0
Author:
Oliver Burn, Bill Schneider

Constructor Summary
AvoidStarImportCheck()
           
 
Method Summary
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 void setExcludes(java.lang.String[] aExcludes)
          Sets the list of packages to 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
getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, 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:
Check

setExcludes

public void setExcludes(java.lang.String[] aExcludes)
Sets the list of packages to exempt from the check.

Parameters:
aExcludes - a list of package names where star 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
See Also:
Check

Back to the Checkstyle Home Page