Class JavadocVariableCheck
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
-
- com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
-
- com.puppycrawl.tools.checkstyle.api.AbstractCheck
-
- com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocVariableCheck
-
- All Implemented Interfaces:
Configurable
,Contextualizable
public class JavadocVariableCheck extends AbstractCheck
Checks that a variable has a Javadoc comment. Ignores
serialVersionUID
fields.-
Property
scope
- Specify the visibility scope where Javadoc comments are checked. Type iscom.puppycrawl.tools.checkstyle.api.Scope
. Default value isprivate
. -
Property
excludeScope
- Specify the visibility scope where Javadoc comments are not checked. Type iscom.puppycrawl.tools.checkstyle.api.Scope
. Default value isnull
. -
Property
ignoreNamePattern
- Specify the regexp to define variable names to ignore. Type isjava.util.regex.Pattern
. Default value isnull
. -
Property
tokens
- tokens to check Type isjava.lang.String[]
. Validation type istokenSet
. Default value is: ENUM_CONSTANT_DEF.
To configure the default check:
<module name="JavadocVariable"/>
By default, this setting will report a violation if there is no javadoc for any scope member.
public class Test { private int a; // violation, missing javadoc for private member /** * Some description here */ private int b; // OK protected int c; // violation, missing javadoc for protected member public int d; // violation, missing javadoc for public member /*package*/ int e; // violation, missing javadoc for package member }
To configure the check for
public
scope:<module name="JavadocVariable"> <property name="scope" value="public"/> </module>
This setting will report a violation if there is no javadoc for
public
member.public class Test { private int a; // OK /** * Some description here */ private int b; // OK protected int c; // OK public int d; // violation, missing javadoc for public member /*package*/ int e; // OK }
To configure the check for members which are in
private
, but not inprotected
scope:<module name="JavadocVariable"> <property name="scope" value="private"/> <property name="excludeScope" value="protected"/> </module>
This setting will report a violation if there is no javadoc for
private
member and ignoresprotected
member.public class Test { private int a; // violation, missing javadoc for private member /** * Some description here */ private int b; // OK protected int c; // OK public int d; // OK /*package*/ int e; // violation, missing javadoc for package member }
To ignore absence of Javadoc comments for variables with names
log
orlogger
:<module name="JavadocVariable"> <property name="ignoreNamePattern" value="log|logger"/> </module>
This setting will report a violation if there is no javadoc for any scope member and ignores members with name
log
orlogger
.public class Test { private int a; // violation, missing javadoc for private member /** * Some description here */ private int b; // OK protected int c; // violation, missing javadoc for protected member public int d; // violation, missing javadoc for public member /*package*/ int e; // violation, missing javadoc for package member private int log; // OK private int logger; // OK }
Parent is
com.puppycrawl.tools.checkstyle.TreeWalker
Violation Message Keys:
-
javadoc.missing
- Since:
- 3.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
AbstractAutomaticBean.OutputStreamOptions
-
-
Field Summary
Fields Modifier and Type Field Description private Scope
excludeScope
Specify the visibility scope where Javadoc comments are not checked.private java.util.regex.Pattern
ignoreNamePattern
Specify the regexp to define variable names to ignore.static java.lang.String
MSG_JAVADOC_MISSING
A key is pointing to the warning message text in "messages.properties" file.private Scope
scope
Specify the visibility scope where Javadoc comments are checked.
-
Constructor Summary
Constructors Constructor Description JavadocVariableCheck()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 boolean
isIgnored(DetailAST ast)
Decides whether the variable name of an AST is in the ignore list.void
setExcludeScope(Scope excludeScope)
Setter to specify the visibility scope where Javadoc comments are not checked.void
setIgnoreNamePattern(java.util.regex.Pattern pattern)
Setter to specify the regexp to define variable names to ignore.void
setScope(Scope scope)
Setter to specify the visibility scope where Javadoc comments are checked.private boolean
shouldCheck(DetailAST ast)
Whether we should check this node.void
visitToken(DetailAST ast)
Called to process a token.-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractCheck
beginTree, clearViolations, destroy, finishTree, getFileContents, getFilePath, getLine, getLineCodePoints, getLines, getTabWidth, getTokenNames, getViolations, init, isCommentNodesRequired, leaveToken, log, log, log, setFileContents, setTabWidth, setTokens
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
-
Methods inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
configure, contextualize, getConfiguration, setupChild
-
-
-
-
Field Detail
-
MSG_JAVADOC_MISSING
public static final java.lang.String MSG_JAVADOC_MISSING
A key is pointing to the warning message text in "messages.properties" file.- See Also:
- Constant Field Values
-
excludeScope
private Scope excludeScope
Specify the visibility scope where Javadoc comments are not checked.
-
ignoreNamePattern
private java.util.regex.Pattern ignoreNamePattern
Specify the regexp to define variable names to ignore.
-
-
Constructor Detail
-
JavadocVariableCheck
public JavadocVariableCheck()
-
-
Method Detail
-
setScope
public void setScope(Scope scope)
Setter to specify the visibility scope where Javadoc comments are checked.- Parameters:
scope
- a scope.
-
setExcludeScope
public void setExcludeScope(Scope excludeScope)
Setter to specify the visibility scope where Javadoc comments are not checked.- Parameters:
excludeScope
- a scope.
-
setIgnoreNamePattern
public void setIgnoreNamePattern(java.util.regex.Pattern pattern)
Setter to specify the regexp to define variable names to ignore.- Parameters:
pattern
- a pattern.
-
getDefaultTokens
public int[] getDefaultTokens()
Description copied from class:AbstractCheck
Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.- Specified by:
getDefaultTokens
in classAbstractCheck
- Returns:
- the default tokens
- See Also:
TokenTypes
-
getAcceptableTokens
public int[] getAcceptableTokens()
Description copied from class:AbstractCheck
The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.- Specified by:
getAcceptableTokens
in classAbstractCheck
- Returns:
- the token set this check is designed for.
- See Also:
TokenTypes
-
getRequiredTokens
public int[] getRequiredTokens()
Description copied from class:AbstractCheck
The tokens that this check must be registered for.- Specified by:
getRequiredTokens
in classAbstractCheck
- Returns:
- the token set this must be registered for.
- See Also:
TokenTypes
-
visitToken
public void visitToken(DetailAST ast)
Description copied from class:AbstractCheck
Called to process a token.- Overrides:
visitToken
in classAbstractCheck
- Parameters:
ast
- the token to process
-
isIgnored
private boolean isIgnored(DetailAST ast)
Decides whether the variable name of an AST is in the ignore list.- Parameters:
ast
- the AST to check- Returns:
- true if the variable name of ast is in the ignore list.
-
shouldCheck
private boolean shouldCheck(DetailAST ast)
Whether we should check this node.- Parameters:
ast
- a given node.- Returns:
- whether we should check a given node.
-
-