public class MemberNameCheck extends AbstractAccessControlNameCheck
Checks that instance variable names conform to a specified pattern.
format - Specifies valid identifiers.
Type is java.util.regex.Pattern.
Default value is "^[a-z][a-zA-Z0-9]*$".
applyToPublic - Controls whether to apply the check to public member.
Type is boolean.
Default value is true.
applyToProtected - Controls whether to apply the check to protected member.
Type is boolean.
Default value is true.
applyToPackage - Controls whether to apply the check to package-private member.
Type is boolean.
Default value is true.
applyToPrivate - Controls whether to apply the check to private member.
Type is boolean.
Default value is true.
An example of how to configure the check is:
<module name="MemberName"/>
Code Example:
class MyClass {
public int num1; // OK
protected int num2; // OK
final int num3 = 3; // OK
private int num4; // OK
static int num5; // ignored: not an instance variable
public static final int CONSTANT = 1; // ignored: not an instance variable
public int NUM1; // violation, name 'NUM1'
// must match pattern '^[a-z][a-zA-Z0-9]*$'
protected int NUM2; // violation, name 'NUM2'
// must match pattern '^[a-z][a-zA-Z0-9]*$'
final int NUM3; // violation, name 'NUM3'
// must match pattern '^[a-z][a-zA-Z0-9]*$'
private int NUM4; // violation, name 'NUM4'
// must match pattern '^[a-z][a-zA-Z0-9]*$'
}
An example of how to configure the check for names that begin with
"m", followed by an upper case letter, and then letters
and digits. Also, suppress the check from being applied to protected
and package-private member:
<module name="MemberName"> <property name="format" value="^m[A-Z][a-zA-Z0-9]*$"/> <property name="applyToProtected" value="false"/> <property name="applyToPackage" value="false"/> </module>
Code Example:
class MyClass {
public int num1; // violation, name 'num1'
// must match pattern '^m[A-Z][a-zA-Z0-9]*$'
protected int num2; // OK
int num3; // OK
private int num4; // violation, name 'num4'
// must match pattern '^m[A-Z][a-zA-Z0-9]*$'
}
An example of how to suppress the check which is applied to public and private member:
<module name="MemberName"> <property name="applyToPublic" value="false"/> <property name="applyToPrivate" value="false"/> </module>
Code Example:
class MyClass {
public int NUM1; // OK
protected int NUM2; // violation, name 'NUM2'
// must match pattern '^[a-z][a-zA-Z0-9]*$'
int NUM3; // violation, name 'NUM3'
// must match pattern '^[a-z][a-zA-Z0-9]*$'
private int NUM4; // OK
}
Parent is com.puppycrawl.tools.checkstyle.TreeWalker
Violation Message Keys:
name.invalidPattern
AutomaticBean.OutputStreamOptionsMSG_INVALID_PATTERN| Constructor and Description |
|---|
MemberNameCheck()
Creates a new
MemberNameCheck instance. |
| 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.
|
protected boolean |
mustCheckName(DetailAST ast)
Decides whether the name of an AST should be checked against
the format regexp.
|
setApplyToPackage, setApplyToPrivate, setApplyToProtected, setApplyToPublic, shouldCheckInScopesetFormat, visitTokenbeginTree, clearMessages, destroy, finishTree, 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 MemberNameCheck()
MemberNameCheck instance.public int[] getDefaultTokens()
AbstractCheckgetDefaultTokens in class AbstractCheckTokenTypespublic int[] getAcceptableTokens()
AbstractCheckgetAcceptableTokens in class AbstractCheckTokenTypespublic int[] getRequiredTokens()
AbstractCheckgetRequiredTokens in class AbstractCheckTokenTypesprotected final boolean mustCheckName(DetailAST ast)
AbstractNameCheckmustCheckName in class AbstractAccessControlNameCheckast - the AST to check.Copyright © 2001–2020. All rights reserved.