public final class AbstractClassNameCheck extends AbstractCheck
Ensures that the names of abstract classes conforming to some regular
expression and check that abstract modifier exists.
Rationale: Abstract classes are convenience base class implementations of interfaces, not types as such. As such they should be named to indicate this. Also if names of classes starts with 'Abstract' it's very convenient that they will have abstract modifier.
format - Specify valid identifiers. Default value is
"^Abstract.+$".ignoreModifier - Control whether to ignore checking for the
abstract modifier on classes that match the name. Default value is
false.ignoreName - Control whether to ignore checking the name.
Realistically only useful if using the check to identify that match name and
do not have the abstract modifier. Default value is
false.
The following example shows how to configure the AbstractClassName to
checks names, but ignore missing abstract modifiers:
Configuration:
<module name="AbstractClassName"> <property name="ignoreModifier" value="true"/> </module>
Example:
abstract class AbstractFirstClass {} // OK
abstract class SecondClass {} // violation, it should match the pattern "^Abstract.+$"
class AbstractThirdClass {} // OK, no "abstract" modifier
AutomaticBean.OutputStreamOptions| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
MSG_ILLEGAL_ABSTRACT_CLASS_NAME
A key is pointing to the warning message text in "messages.properties"
file.
|
static java.lang.String |
MSG_NO_ABSTRACT_CLASS_MODIFIER
A key is pointing to the warning message text in "messages.properties"
file.
|
| Constructor and Description |
|---|
AbstractClassNameCheck() |
| 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(java.util.regex.Pattern pattern)
Setter to specify valid identifiers.
|
void |
setIgnoreModifier(boolean value)
Setter to control whether to ignore checking for the
abstract modifier on
classes that match the name. |
void |
setIgnoreName(boolean value)
Setter to control whether to ignore checking the name.
|
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, setTokensfinishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverityconfigure, contextualize, getConfiguration, setupChildpublic static final java.lang.String MSG_ILLEGAL_ABSTRACT_CLASS_NAME
public static final java.lang.String MSG_NO_ABSTRACT_CLASS_MODIFIER
public AbstractClassNameCheck()
public void setIgnoreModifier(boolean value)
abstract modifier on
classes that match the name.value - new valuepublic void setIgnoreName(boolean value)
abstract modifier.value - new value.public void setFormat(java.util.regex.Pattern pattern)
pattern - the new patternpublic int[] getDefaultTokens()
AbstractCheckgetDefaultTokens in class AbstractCheckTokenTypespublic int[] getRequiredTokens()
AbstractCheckgetRequiredTokens in class AbstractCheckTokenTypespublic int[] getAcceptableTokens()
AbstractCheckgetAcceptableTokens in class AbstractCheckTokenTypespublic void visitToken(DetailAST ast)
AbstractCheckvisitToken in class AbstractCheckast - the token to processCopyright © 2001-2019. All Rights Reserved.