com.puppycrawl.tools.checkstyle.checks.imports

Class AvoidStarImportCheck

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. Compatible with Java 1.5 source.

Version: 1.0

Author: Oliver Burn Bill Schneider

Method Summary
int[]getDefaultTokens()
{@inheritDoc}
voidsetExcludes(String[] aExcludes)
Sets the list of packages to exempt from the check.
voidvisitToken(DetailAST aAST)
{@inheritDoc}

Method Detail

getDefaultTokens

public int[] getDefaultTokens()
{@inheritDoc}

setExcludes

public void setExcludes(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)
{@inheritDoc}