public class ImportOrderCheck extends AbstractOptionCheck<ImportOrderOption>
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:
Check also has on option making it more flexible:
sortStaticImportsAlphabetically - sets whether static imports grouped by
top or bottom option should be sorted alphabetically or
not, default value is false. It is applied to static imports grouped
with top or bottom options.
This option is helping in reconciling of this Check and other tools like
Eclipse's Organize Imports feature.
To configure the Check allows static imports grouped to the top being sorted alphabetically:
import static java.lang.Math.abs;
import static org.abego.treelayout.Configuration.AlignmentInLevel; // OK, alphabetical order
import org.abego.*;
import java.util.Set;
public class SomeClass { ... }
Modifier and Type | Field and Description |
---|---|
static String |
MSG_ORDERING
A key is pointing to the warning message text in "messages.properties"
file.
|
static String |
MSG_SEPARATION
A key is pointing to the warning message text in "messages.properties"
file.
|
Constructor and Description |
---|
ImportOrderCheck()
Groups static imports under each group.
|
Modifier and Type | Method and Description |
---|---|
void |
beginTree(DetailAST rootAST)
Called before the starting to process a tree.
|
int[] |
getAcceptableTokens()
The configurable token set.
|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
void |
setCaseSensitive(boolean caseSensitive)
Sets whether string comparison should be case sensitive or not.
|
void |
setGroups(String[] packageGroups)
Sets the list of package groups and the order they should occur in the
file.
|
void |
setOrdered(boolean ordered)
Sets whether or not imports should be ordered within any one group of
imports.
|
void |
setSeparated(boolean separated)
Sets whether or not groups of imports must be separated from one another
by at least one blank line.
|
void |
setSortStaticImportsAlphabetically(boolean sortAlphabetically)
Sets whether static imports (when grouped using 'top' and 'bottom' option)
are sorted alphabetically or according to the package groupings.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
getAbstractOption, setOption
destroy, finishTree, getClassLoader, getFileContents, getLine, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverity
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
public static final String MSG_SEPARATION
public static final String MSG_ORDERING
public ImportOrderCheck()
public void setGroups(String[] packageGroups)
packageGroups
- a comma-separated list of package names/prefixes.public void setOrdered(boolean ordered)
ordered
- whether lexicographic ordering of imports within a group
required or not.public void setSeparated(boolean separated)
separated
- whether groups should be separated by oen blank line.public void setCaseSensitive(boolean caseSensitive)
caseSensitive
- whether string comparison should be case sensitive.public void setSortStaticImportsAlphabetically(boolean sortAlphabetically)
sortAlphabetically
- true or false.public int[] getDefaultTokens()
Check
getDefaultTokens
in class Check
TokenTypes
public int[] getAcceptableTokens()
Check
getAcceptableTokens
in class Check
TokenTypes
public void beginTree(DetailAST rootAST)
Check
public void visitToken(DetailAST ast)
Check
visitToken
in class Check
ast
- the token to processCopyright © 2001–2015. All rights reserved.