public class WhitespaceAroundCheck extends AbstractCheck
By default the check will check the following operators:
ASSERT
,
ASSIGN
,
BAND
,
BAND_ASSIGN
,
BOR
,
BOR_ASSIGN
,
BSR
,
BSR_ASSIGN
,
BXOR
,
BXOR_ASSIGN
,
COLON
,
DIV
,
DIV_ASSIGN
,
DO_WHILE
,
EQUAL
,
GE
,
GT
,
LAND
,
LCURLY
,
LE
,
LITERAL_CATCH
,
LITERAL_DO
,
LITERAL_ELSE
,
LITERAL_FINALLY
,
LITERAL_FOR
,
LITERAL_IF
,
LITERAL_RETURN
,
LITERAL_SWITCH
,
LITERAL_SYNCHRONIZED
,
LITERAL_TRY
,
LITERAL_WHILE
,
LOR
,
LT
,
MINUS
,
MINUS_ASSIGN
,
MOD
,
MOD_ASSIGN
,
NOT_EQUAL
,
PLUS
,
PLUS_ASSIGN
,
QUESTION
,
RCURLY
,
SL
,
SLIST
,
SL_ASSIGN
,
SR
,
SR_ASSIGN
,
STAR
,
STAR_ASSIGN
,
LITERAL_ASSERT
,
TYPE_EXTENSION_AND
.
An example of how to configure the check is:
<module name="WhitespaceAround"/>
An example of how to configure the check for whitespace only around assignment operators is:
<module name="WhitespaceAround"> <property name="tokens" value="ASSIGN,DIV_ASSIGN,PLUS_ASSIGN,MINUS_ASSIGN,STAR_ASSIGN, MOD_ASSIGN,SR_ASSIGN,BSR_ASSIGN,SL_ASSIGN,BXOR_ASSIGN, BOR_ASSIGN,BAND_ASSIGN"/> </module>
An example of how to configure the check for whitespace only around curly braces is:
<module name="WhitespaceAround"> <property name="tokens" value="LCURLY,RCURLY"/> </module>
In addition, this check can be configured to allow empty methods, types, for, while, do-while loops, lambdas and constructor bodies. For example:
public MyClass() {} // empty constructor
public void func() {} // empty method
public interface Foo {} // empty interface
public class Foo {} // empty class
public enum Foo {} // empty enum
MyClass c = new MyClass() {}; // empty anonymous class
while (i = 1) {} // empty while loop
for (int i = 1; i > 1; i++) {} // empty for loop
do {} while (i = 1); // empty do-while loop
Runnable noop = () -> {}; // empty lambda
public @interface Beta {} // empty annotation type
This check does not flag as violation double brace initialization like:
new Properties() {{ setProperty("key", "value"); }};
To configure the check to allow empty method blocks use
<property name="allowEmptyMethods" value="true" />
To configure the check to allow empty constructor blocks use
<property name="allowEmptyConstructors" value="true" />
To configure the check to allow empty type blocks use
<property name="allowEmptyTypes" value="true" />
To configure the check to allow empty loop blocks use
<property name="allowEmptyLoops" value="true" />
To configure the check to allow empty lambdas blocks use
<property name="allowEmptyLambdas" value="true" />
Also, this check can be configured to ignore the colon in an enhanced for loop. The colon in an enhanced for loop is ignored by default
To configure the check to ignore the colon
<property name="ignoreEnhancedForColon" value="true" />
AutomaticBean.OutputStreamOptions
Modifier and Type | Field and Description |
---|---|
static String |
MSG_WS_NOT_FOLLOWED
A key is pointing to the warning message text in "messages.properties"
file.
|
static String |
MSG_WS_NOT_PRECEDED
A key is pointing to the warning message text in "messages.properties"
file.
|
Constructor and Description |
---|
WhitespaceAroundCheck() |
Modifier and Type | Method and Description |
---|---|
int[] |
getAcceptableTokens()
The configurable token set.
|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
int[] |
getRequiredTokens()
The tokens that this check must be registered for.
|
void |
setAllowEmptyCatches(boolean allow)
Sets whether or not empty catch blocks are allowed.
|
void |
setAllowEmptyConstructors(boolean allow)
Sets whether or not empty constructor bodies are allowed.
|
void |
setAllowEmptyLambdas(boolean allow)
Sets whether or not empty lambdas bodies are allowed.
|
void |
setAllowEmptyLoops(boolean allow)
Sets whether or not empty loop bodies are allowed.
|
void |
setAllowEmptyMethods(boolean allow)
Sets whether or not empty method bodies are allowed.
|
void |
setAllowEmptyTypes(boolean allow)
Sets whether or not empty type bodies are allowed.
|
void |
setIgnoreEnhancedForColon(boolean ignore)
Sets whether or not to ignore the whitespace around the
colon in an enhanced for loop.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
beginTree, clearMessages, destroy, finishTree, getClassLoader, getFileContents, getLine, getLines, getMessages, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, log, setClassLoader, setFileContents, setTabWidth, setTokens
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
configure, contextualize, getConfiguration, setupChild
public static final String MSG_WS_NOT_PRECEDED
public static final String MSG_WS_NOT_FOLLOWED
public WhitespaceAroundCheck()
public int[] getDefaultTokens()
AbstractCheck
getDefaultTokens
in class AbstractCheck
TokenTypes
public int[] getAcceptableTokens()
AbstractCheck
getAcceptableTokens
in class AbstractCheck
TokenTypes
public int[] getRequiredTokens()
AbstractCheck
getRequiredTokens
in class AbstractCheck
TokenTypes
public void setAllowEmptyMethods(boolean allow)
allow
- true
to allow empty method bodies.public void setAllowEmptyConstructors(boolean allow)
allow
- true
to allow empty constructor bodies.public void setIgnoreEnhancedForColon(boolean ignore)
ignore
- true
to ignore enhanced for colon.public void setAllowEmptyTypes(boolean allow)
allow
- true
to allow empty type bodies.public void setAllowEmptyLoops(boolean allow)
allow
- true
to allow empty loops bodies.public void setAllowEmptyLambdas(boolean allow)
allow
- true
to allow empty lambda expressions.public void setAllowEmptyCatches(boolean allow)
allow
- true
to allow empty catch blocks.public void visitToken(DetailAST ast)
AbstractCheck
visitToken
in class AbstractCheck
ast
- the token to processCopyright © 2001–2018. All rights reserved.