public class AbbreviationAsWordInNameCheck extends AbstractCheck
The Check validate abbreviations(consecutive capital letters) length in identifier name, it also allows to enforce camel case naming. Please read more at Google Style Guide to get to know how to avoid long abbreviations in names.
allowedAbbreviationLength
specifies how many consecutive capital letters are
allowed in the identifier.
A value of 3 indicates that up to 4 consecutive capital letters are allowed,
one after the other, before a violation is printed. The identifier 'MyTEST' would be
allowed, but 'MyTESTS' would not be.
A value of 0 indicates that only 1 consecutive capital letter is allowed. This
is what should be used to enforce strict camel casing. The identifier 'MyTest' would
be allowed, but 'MyTEst' would not be.
Option allowedAbbreviationLength
indicates on the allowed amount of capital
letters in abbreviations in the classes, interfaces,
variables and methods names. Default value is '3'.
Option allowedAbbreviations
- list of abbreviations that
must be skipped for checking. Abbreviations should be separated by comma,
no spaces are allowed.
Option ignoreFinal
allow to skip variables with final
modifier.
Default value is true
.
Option ignoreStatic
allow to skip variables with static
modifier.
Default value is true
.
Option ignoreOverriddenMethod
- Allows to
ignore methods tagged with @Override
annotation
(that usually mean inherited name). Default value is true
.
<module name="AbbreviationAsWordInName" />
To configure to check variables and classes identifiers, do not ignore variables with static modifier and allow no abbreviations (enforce camel case phrase) but allow XML and URL abbreviations.
<module name="AbbreviationAsWordInName"> <property name="tokens" value="VARIABLE_DEF,CLASS_DEF"/> <property name="ignoreStatic" value="false"/> <property name="allowedAbbreviationLength" value="1"/> <property name="allowedAbbreviations" value="XML,URL"/> </module>
Modifier and Type | Field and Description |
---|---|
private int |
allowedAbbreviationLength
Variable indicates on the allowed amount of capital letters in
abbreviations in the classes, interfaces, variables and methods names.
|
private java.util.Set<java.lang.String> |
allowedAbbreviations
Set of allowed abbreviation to ignore in check.
|
private static int |
DEFAULT_ALLOWED_ABBREVIATIONS_LENGTH
The default value of "allowedAbbreviationLength" option.
|
private boolean |
ignoreFinal
Allows to ignore variables with 'final' modifier.
|
private boolean |
ignoreOverriddenMethods
Allows to ignore methods with '@Override' annotation.
|
private boolean |
ignoreStatic
Allows to ignore variables with 'static' modifier.
|
static java.lang.String |
MSG_KEY
Warning message key.
|
Constructor and Description |
---|
AbbreviationAsWordInNameCheck() |
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
getAbbreviationIfIllegal(java.lang.String str,
int beginIndex,
int endIndex)
Get Abbreviation if it is illegal.
|
int[] |
getAcceptableTokens()
The configurable token set.
|
private static java.util.List<DetailAST> |
getChildren(DetailAST node)
Gets all the children which are one level below on the current DetailAST
parent node.
|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
private java.lang.String |
getDisallowedAbbreviation(java.lang.String str)
Gets the disallowed abbreviation contained in given String.
|
int[] |
getRequiredTokens()
The tokens that this check must be registered for.
|
private static boolean |
hasOverrideAnnotation(DetailAST methodModifiersAST)
Checks that the method has "@Override" annotation.
|
private boolean |
isIgnoreSituation(DetailAST ast)
Checks if it is an ignore situation.
|
private static boolean |
isInterfaceDeclaration(DetailAST variableDefAst)
Check that variable definition in interface or @interface definition.
|
void |
setAllowedAbbreviationLength(int allowedAbbreviationLength)
Allowed abbreviation length in names.
|
void |
setAllowedAbbreviations(java.lang.String... allowedAbbreviations)
Set a list of abbreviations that must be skipped for checking.
|
void |
setIgnoreFinal(boolean ignoreFinal)
Sets ignore option for variables with 'final' modifier.
|
void |
setIgnoreOverriddenMethods(boolean ignoreOverriddenMethods)
Sets ignore option for methods with "@Override" annotation.
|
void |
setIgnoreStatic(boolean ignoreStatic)
Sets ignore option for variables with 'static' modifier.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
beginTree, destroy, finishTree, getClassLoader, getFileContents, getLine, getLines, 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 java.lang.String MSG_KEY
private static final int DEFAULT_ALLOWED_ABBREVIATIONS_LENGTH
private int allowedAbbreviationLength
private java.util.Set<java.lang.String> allowedAbbreviations
private boolean ignoreFinal
private boolean ignoreStatic
private boolean ignoreOverriddenMethods
public void setIgnoreFinal(boolean ignoreFinal)
ignoreFinal
- Defines if ignore variables with 'final' modifier or not.public void setIgnoreStatic(boolean ignoreStatic)
ignoreStatic
- Defines if ignore variables with 'static' modifier or not.public void setIgnoreOverriddenMethods(boolean ignoreOverriddenMethods)
ignoreOverriddenMethods
- Defines if ignore methods with "@Override" annotation or not.public void setAllowedAbbreviationLength(int allowedAbbreviationLength)
allowedAbbreviationLength
- amount of allowed capital letters in abbreviation.public void setAllowedAbbreviations(java.lang.String... allowedAbbreviations)
allowedAbbreviations
- an string of abbreviations that must be skipped from checking,
each abbreviation separated by comma.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 visitToken(DetailAST ast)
AbstractCheck
visitToken
in class AbstractCheck
ast
- the token to processprivate boolean isIgnoreSituation(DetailAST ast)
ast
- input DetailAST node.private static boolean isInterfaceDeclaration(DetailAST variableDefAst)
variableDefAst
- variable definition.private static boolean hasOverrideAnnotation(DetailAST methodModifiersAST)
methodModifiersAST
- A DetailAST nod is related to the given method modifiers
(MODIFIERS type).private java.lang.String getDisallowedAbbreviation(java.lang.String str)
str
- the given String.private java.lang.String getAbbreviationIfIllegal(java.lang.String str, int beginIndex, int endIndex)
str
- namebeginIndex
- begin indexendIndex
- end index