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.
Modifier and Type | Field and Description |
---|---|
private java.util.regex.Pattern |
format
The regexp to match against.
|
private boolean |
ignoreModifier
Whether to ignore checking the modifier.
|
private boolean |
ignoreName
Whether to ignore checking the name.
|
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.
|
private static boolean |
isAbstract(DetailAST ast)
Checks if declared class is abstract or not.
|
private boolean |
isMatchingClassName(java.lang.String className)
Returns true if class name matches format of abstract class names.
|
void |
setFormat(java.util.regex.Pattern pattern)
Set the format for the specified regular expression.
|
void |
setIgnoreModifier(boolean value)
Whether to ignore checking for the
abstract modifier. |
void |
setIgnoreName(boolean value)
Whether to ignore checking the name.
|
private void |
visitClassDef(DetailAST ast)
Checks class definition.
|
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_ILLEGAL_ABSTRACT_CLASS_NAME
public static final java.lang.String MSG_NO_ABSTRACT_CLASS_MODIFIER
private boolean ignoreModifier
private boolean ignoreName
private java.util.regex.Pattern format
public void setIgnoreModifier(boolean value)
abstract
modifier.value
- new valuepublic void setIgnoreName(boolean value)
value
- new value.public void setFormat(java.util.regex.Pattern pattern)
pattern
- the new patternpublic int[] getDefaultTokens()
AbstractCheck
getDefaultTokens
in class AbstractCheck
TokenTypes
public int[] getRequiredTokens()
AbstractCheck
getRequiredTokens
in class AbstractCheck
TokenTypes
public int[] getAcceptableTokens()
AbstractCheck
getAcceptableTokens
in class AbstractCheck
TokenTypes
public void visitToken(DetailAST ast)
AbstractCheck
visitToken
in class AbstractCheck
ast
- the token to processprivate void visitClassDef(DetailAST ast)
ast
- class definition for check.private static boolean isAbstract(DetailAST ast)
ast
- class definition for check.private boolean isMatchingClassName(java.lang.String className)
className
- class name for check.