public class PackageNameCheck extends AbstractCheck
Checks that package names conform to a specified pattern.
The default value of format
for module PackageName
has been chosen to match
the requirements in the
Java Language specification
and the Sun coding conventions. However both underscores and uppercase letters are rather
uncommon, so most configurations should probably assign value
^[a-z]+(\.[a-z][a-z0-9]*)*$
to format
for module PackageName
.
format
- Specifies valid identifiers.
Type is java.util.regex.Pattern
.
Default value is "^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$"
.
An example of how to configure the check is:
<module name="PackageName"/>
Code Example:
package com; // OK package COM; // violation, name 'COM' must match pattern '^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$' package com.checkstyle.checks; // OK package com.A.checkstyle.checks; // OK package com.checkstyle1.checks; // OK package com.checkSTYLE.checks; // OK package com._checkstyle.checks_; // OK
An example of how to configure the check to ensure with packages start with a lowercase letter and only contains lowercase letters or numbers is:
<module name="PackageName"> <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/> </module>
Code Example:
package com; // OK package COM; // violation, name 'COM' must match pattern '^[a-z]+(\.[a-z][a-z0-9]*)*$' package com.checkstyle.checks; // OK package com.A.checkstyle.checks; // violation, name 'com.A.checkstyle' must match // pattern '^[a-z]+(\.[a-z][a-z0-9]*)*$' package com.checkstyle1.checks; // OK package com.checkSTYLE.checks; // violation, name 'com.checkSTYLE.checks' must // match pattern '^[a-z]+(\.[a-z][a-z0-9]*)*$' package com._checkstyle.checks_; // violation, name 'com._checkstyle.checks_' must match // pattern '^[a-z]+(\.[a-z][a-z0-9]*)*$'
Parent is com.puppycrawl.tools.checkstyle.TreeWalker
Violation Message Keys:
name.invalidPattern
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 |
---|
PackageNameCheck() |
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 |
setFormat(Pattern pattern)
Setter to specifies valid identifiers.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
beginTree, clearMessages, destroy, finishTree, getFileContents, getLine, getLines, getMessages, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, log, setFileContents, setTabWidth, setTokens
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
configure, contextualize, getConfiguration, setupChild
public static final String MSG_KEY
public PackageNameCheck()
public void setFormat(Pattern pattern)
pattern
- the new patternpublic 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 processCopyright © 2001–2020. All rights reserved.