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>
 

Group descriptions enclosed in slashes are interpreted as regular expressions. If multiple groups match, the one matching a longer substring of the imported name will take precedence, with ties broken first in favor of earlier matches and finally in favor of the first matching group.

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.
 void setCaseSensitive(boolean aCaseSensitive)
          Sets whether string comparison 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.checks.AbstractOptionCheck
getAbstractOption, setOption
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
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
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(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 - 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

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


Copyright © 2001-2011. All Rights Reserved.