public class MultipleStringLiteralsCheck extends AbstractCheck
Checks for multiple occurrences of the same string literal within a single file.
Rationale: Code duplication makes maintenance more difficult, so it can be better to replace the multiple occurrences with a constant.
allowedDuplicates - Specify the maximum number of occurrences
to allow without generating a warning.
Type is int.
Default value is 1.
ignoreStringsRegexp - Specify RegExp for ignored strings (with quotation marks).
Type is java.util.regex.Pattern.
Default value is "^""$".
ignoreOccurrenceContext - Specify token type names where duplicate
strings are ignored even if they don't match ignoredStringsRegexp. This allows you to
exclude syntactical contexts like annotations or static initializers from the check.
Type is int[].
Default value is ANNOTATION.
To configure the check:
<module name="MultipleStringLiterals"/>
To configure the check so that it allows two occurrences of each string:
<module name="MultipleStringLiterals"> <property name="allowedDuplicates" value="2"/> </module>
To configure the check so that it ignores ", " and empty strings:
<module name="MultipleStringLiterals">
<property name="ignoreStringsRegexp"
value='^(("")|(", "))$'/>
</module>
To configure the check so that it flags duplicate strings in all syntactical contexts,
even in annotations like @SuppressWarnings("unchecked"):
<module name="MultipleStringLiterals"> <property name="ignoreOccurrenceContext" value=""/> </module>
Parent is com.puppycrawl.tools.checkstyle.TreeWalker
Violation Message Keys:
multiple.string.literal
AutomaticBean.OutputStreamOptions| Modifier and Type | Field and Description |
|---|---|
static String |
MSG_KEY
A key is pointing to the warning message text in "messages.properties"
file.
|
| Constructor and Description |
|---|
MultipleStringLiteralsCheck()
Construct an instance with default values.
|
| Modifier and Type | Method and Description |
|---|---|
void |
beginTree(DetailAST rootAST)
Called before the starting to process a tree.
|
void |
finishTree(DetailAST rootAST)
Called after finished processing a tree.
|
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 |
setAllowedDuplicates(int allowedDuplicates)
Setter to specify the maximum number of occurrences to allow without generating a warning.
|
void |
setIgnoreOccurrenceContext(String... strRep)
Setter to specify token type names where duplicate strings are ignored even
if they don't match ignoredStringsRegexp.
|
void |
setIgnoreStringsRegexp(Pattern ignoreStringsRegexp)
Setter to specify RegExp for ignored strings (with quotation marks).
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
clearMessages, destroy, getFileContents, getLine, getLines, getMessages, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, log, setFileContents, setTabWidth, setTokensfinishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverityconfigure, contextualize, getConfiguration, setupChildpublic static final String MSG_KEY
public MultipleStringLiteralsCheck()
public void setAllowedDuplicates(int allowedDuplicates)
allowedDuplicates - The maximum number of duplicates.public final void setIgnoreStringsRegexp(Pattern ignoreStringsRegexp)
ignoreStringsRegexp - regular expression pattern for ignored stringspublic final void setIgnoreOccurrenceContext(String... strRep)
strRep - the string representation of the tokens interested inpublic int[] getDefaultTokens()
AbstractCheckgetDefaultTokens in class AbstractCheckTokenTypespublic int[] getAcceptableTokens()
AbstractCheckgetAcceptableTokens in class AbstractCheckTokenTypespublic int[] getRequiredTokens()
AbstractCheckgetRequiredTokens in class AbstractCheckTokenTypespublic void visitToken(DetailAST ast)
AbstractCheckvisitToken in class AbstractCheckast - the token to processpublic void beginTree(DetailAST rootAST)
AbstractCheckbeginTree in class AbstractCheckrootAST - the root of the treepublic void finishTree(DetailAST rootAST)
AbstractCheckfinishTree in class AbstractCheckrootAST - the root of the treeCopyright © 2001–2020. All rights reserved.