Package com.qulice.checkstyle
Class StringLiteralsConcatenationCheck
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.api.AutomaticBean
-
- com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
-
- com.puppycrawl.tools.checkstyle.api.AbstractCheck
-
- com.qulice.checkstyle.StringLiteralsConcatenationCheck
-
- All Implemented Interfaces:
Configurable
,Contextualizable
public final class StringLiteralsConcatenationCheck extends AbstractCheck
Checks for not using concatenation of string literals in any form.The following constructs are prohibited:
String a = "done in " + time + " seconds"; System.out.println("File not found: " + file); x += "done";
You should avoid string concatenation at all cost. Why? There are two reasons: readability of the code and translateability. First of all it's difficult to understand how the text will look after concatenation, especially if the text is long and there are more than a few
+
operators. Second, you won't be able to translate your text to other languages later, if you don't have solid string literals.There are two alternatives to concatenation:
StringBuilder
andString.format(String,Object[])
.- Since:
- 0.3
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
AutomaticBean.OutputStreamOptions
-
-
Constructor Summary
Constructors Constructor Description StringLiteralsConcatenationCheck()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int[]
getAcceptableTokens()
int[]
getDefaultTokens()
int[]
getRequiredTokens()
void
visitToken(DetailAST ast)
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractCheck
beginTree, clearMessages, destroy, finishTree, getClassLoader, getFileContents, getLine, getLines, getMessages, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, log, setClassLoader, setFileContents, setTabWidth, setTokens
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
configure, contextualize, getConfiguration, setupChild
-
-
-
-
Method Detail
-
getDefaultTokens
public int[] getDefaultTokens()
- Specified by:
getDefaultTokens
in classAbstractCheck
-
getAcceptableTokens
public int[] getAcceptableTokens()
- Specified by:
getAcceptableTokens
in classAbstractCheck
-
getRequiredTokens
public int[] getRequiredTokens()
- Specified by:
getRequiredTokens
in classAbstractCheck
-
visitToken
public void visitToken(DetailAST ast)
- Overrides:
visitToken
in classAbstractCheck
-
-