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

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

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 first, then everything else) and imports within each group are in lexicographic order.

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.

Author:
Bill Schneider, o_sukhodolsky

Constructor Summary
ImportOrderCheck()
          Default constructor.
 
Method Summary
 void beginTree(DetailAST aRootAST)
          Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.
 int[] getDefaultTokens()
          Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.
 int[] getRequiredTokens()
          The tokens that this check must be registered for.
 void setCaseSensitive(boolean aCaseSensitive)
          Sets whether strings comprision should be case sensitive or not.
 void setGroups(java.lang.String[] aGroups)
          sets the list of package groups and the order they should occur in the file.
 void setOrdered(boolean aOrdered)
          Sets whether or not imports should be ordered within any one group of imports.
 void setSeparated(boolean aSeparated)
          Sets whether or not groups of imports must be separated from one another by at least one blank line.
 void visitToken(DetailAST aAST)
          Called to process a token.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, 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

ImportOrderCheck

public ImportOrderCheck()
Default constructor.

Method Detail

setGroups

public void setGroups(java.lang.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.

setCaseSensitive

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

Parameters:
aCaseSensitive - whether string comprition should be case sensitive.

getDefaultTokens

public int[] getDefaultTokens()
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

getRequiredTokens

public int[] getRequiredTokens()
The tokens that this check must be registered for.

Overrides:
getRequiredTokens in class Check
Returns:
the token set this must be registered for.
See Also:
TokenTypes

beginTree

public void beginTree(DetailAST aRootAST)
Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.

Overrides:
beginTree in class Check
Parameters:
aRootAST - the root of the tree

visitToken

public void visitToken(DetailAST aAST)
Called to process a token.

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

Back to the Checkstyle Home Page