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

    java.lang.Object
      com.puppycrawl.tools.checkstyle.api.AutomaticBean
          com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
              com.puppycrawl.tools.checkstyle.api.Check
                  com.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 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
`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 comparision 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.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
`getId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, 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()

  Default constructor.

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

### 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.

### 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