com.puppycrawl.tools.checkstyle.checks.imports

Class ImportOrderCheck

public class ImportOrderCheck extends Check

Class to check the ordering/grouping of imports. Ensures that groups of imports come in a specific order (e.g., java. comes first, javax. comes second, then everything else) and imports within each group are in lexicographic order. Static imports must be at the end of a group and in lexicographic order amongst themselves.

Example:

  <module name="ImportOrder">
    <property name="groups" value="java,javax"/>
    <property name="ordered" value="true"/>
    <property name="caseSensitive" value="false"/>
  </module>
 
There is always an additional, implied "everything else" package group. If no "groups" property is supplied, all imports belong in this "everything else" group.

ordered defaults to true.

separated defaults to false.

Compatible with Java 1.5 source.

Author: Bill Schneider o_sukhodolsky

Constructor Summary
ImportOrderCheck()
Default constructor.
Method Summary
voidbeginTree(DetailAST aRootAST)
{@inheritDoc}
int[]getDefaultTokens()
{@inheritDoc}
int[]getRequiredTokens()
{@inheritDoc}
voidsetCaseSensitive(boolean aCaseSensitive)
Sets whether string comparision should be case sensitive or not.
voidsetGroups(String[] aGroups)
sets the list of package groups and the order they should occur in the file.
voidsetOrdered(boolean aOrdered)
Sets whether or not imports should be ordered within any one group of imports.
voidsetSeparated(boolean aSeparated)
Sets whether or not groups of imports must be separated from one another by at least one blank line.
voidvisitToken(DetailAST aAST)
{@inheritDoc}

Constructor Detail

ImportOrderCheck

public ImportOrderCheck()
Default constructor.

Method Detail

beginTree

public void beginTree(DetailAST aRootAST)
{@inheritDoc}

getDefaultTokens

public int[] getDefaultTokens()
{@inheritDoc}

getRequiredTokens

public int[] getRequiredTokens()
{@inheritDoc}

setCaseSensitive

public void setCaseSensitive(boolean aCaseSensitive)
Sets whether string comparision should be case sensitive or not.

Parameters: aCaseSensitive whether string comparision should be case sensitive.

setGroups

public void setGroups(String[] aGroups)
sets the list of package groups and the order they should occur in the file.

Parameters: aGroups a comma-separated list of package names/prefixes

setOrdered

public void setOrdered(boolean aOrdered)
Sets whether or not imports should be ordered within any one group of imports.

Parameters: aOrdered whether lexicographic ordering of imports within a group required or not.

setSeparated

public void setSeparated(boolean aSeparated)
Sets whether or not groups of imports must be separated from one another by at least one blank line.

Parameters: aSeparated whehter groups should be separated by blank line.

visitToken

public void visitToken(DetailAST aAST)
{@inheritDoc}