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

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.AbstractOptionCheck<ImportOrderOption>
                  extended by com.puppycrawl.tools.checkstyle.checks.imports.ImportOrderCheck
All Implemented Interfaces:
Configurable, Contextualizable

public class ImportOrderCheck
extends AbstractOptionCheck<ImportOrderOption>

Example:

  <module name="ImportOrder">
    <property name="groups" value="java,javax"/>
    <property name="ordered" value="true"/>
    <property name="caseSensitive" value="false"/>
    <property name="option" value="above"/>
  </module>
 

There is always a wildcard group to which everything not in a named group belongs. If an import does not match a named group, the group belongs to this wildcard group. The wildcard group position can be specified using the * character.

Defaults:

Compatible with Java 1.5 source.

Author:
Bill Schneider, o_sukhodolsky, David DIDIER, Steve McKay

Constructor Summary
ImportOrderCheck()
          Groups static imports under each group.
 
Method Summary
 void beginTree(DetailAST aRootAST)
          Called before the starting to process a tree.
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 int[] getRequiredTokens()
          The tokens that this check must be registered for.
 void setCaseSensitive(boolean aCaseSensitive)
          Sets whether string comparison should be case sensitive or not.
 void setGroups(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.checks.AbstractOptionCheck
getAbstractOption, setOption
 
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
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

ImportOrderCheck

public ImportOrderCheck()
Groups static imports under each group.

Method Detail

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 - whether groups should be separated by oen blank line.

setCaseSensitive

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

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

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

getRequiredTokens

public int[] getRequiredTokens()
Description copied from class: Check
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)
Description copied from class: Check
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)
Description copied from class: Check
Called to process a token.

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

Back to the Checkstyle Home Page