Class WriteTagCheck
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.WriteTagCheck
- All Implemented Interfaces:
Configurable
,Contextualizable
Requires user defined Javadoc tag to be present in Javadoc comment with defined format.
To define the format for a tag, set property tagFormat to a regular expression.
Property tagSeverity is used for severity of events when the tag exists.
No violation reported in case there is no javadoc.
-
Property
tag
- Specify the name of tag. Type isjava.lang.String
. Default value isnull
. -
Property
tagFormat
- Specify the regexp to match tag content. Type isjava.util.regex.Pattern
. Default value isnull
. -
Property
tagSeverity
- Specify the severity level when tag is found and printed. Type iscom.puppycrawl.tools.checkstyle.api.SeverityLevel
. Default value isinfo
. -
Property
tokens
- tokens to check Type isjava.lang.String[]
. Validation type istokenSet
. Default value is: INTERFACE_DEF, CLASS_DEF, ENUM_DEF, ANNOTATION_DEF, RECORD_DEF.
Parent is com.puppycrawl.tools.checkstyle.TreeWalker
Violation Message Keys:
-
javadoc.writeTag
-
type.missingTag
-
type.tagFormat
- Since:
- 4.2
-
Nested Class Summary
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
AbstractAutomaticBean.OutputStreamOptions
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Pattern
Line split pattern.static final String
A key is pointing to the warning message text in "messages.properties" file.static final String
A key is pointing to the warning message text in "messages.properties" file.static final String
A key is pointing to the warning message text in "messages.properties" file.private String
Specify the name of tag.private Pattern
Specify the regexp to match tag content.private Pattern
Compiled regexp to match tag.private SeverityLevel
Specify the severity level when tag is found and printed. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Validates the Javadoc comment against the configured requirements.private static int
countCommentLines
(DetailAST blockComment) Counts the number of lines in a block comment.int[]
The configurable token set.int[]
Returns the default token a check is interested in.private static DetailAST
getJavadoc
(DetailAST ast) Retrieves the Javadoc comment associated with a given AST node.int[]
The tokens that this check must be registered for.boolean
Whether comment nodes are required or not.private void
Log a message.void
Setter to specify the name of tag.void
setTagFormat
(Pattern pattern) Setter to specify the regexp to match tag content.final void
setTagSeverity
(SeverityLevel severity) Setter to specify the severity level when tag is found and printed.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, 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 Details
-
MSG_MISSING_TAG
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
MSG_WRITE_TAG
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
MSG_TAG_FORMAT
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
LINE_SPLIT_PATTERN
Line split pattern. -
tagRegExp
Compiled regexp to match tag. -
tagFormat
Specify the regexp to match tag content. -
tag
Specify the name of tag. -
tagSeverity
Specify the severity level when tag is found and printed.
-
-
Constructor Details
-
WriteTagCheck
public WriteTagCheck()
-
-
Method Details
-
setTag
Setter to specify the name of tag.- Parameters:
tag
- tag to check- Since:
- 4.2
-
setTagFormat
Setter to specify the regexp to match tag content.- Parameters:
pattern
- aString
value- Since:
- 4.2
-
setTagSeverity
Setter to specify the severity level when tag is found and printed.- Parameters:
severity
- The new severity level- Since:
- 4.2
- See Also:
-
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:
-
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:
-
isCommentNodesRequired
Description copied from class:AbstractCheck
Whether comment nodes are required or not.- Overrides:
isCommentNodesRequired
in classAbstractCheck
- Returns:
- false as a default value.
-
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:
-
visitToken
Description copied from class:AbstractCheck
Called to process a token.- Overrides:
visitToken
in classAbstractCheck
- Parameters:
ast
- the token to process
-
getJavadoc
Retrieves the Javadoc comment associated with a given AST node.- Parameters:
ast
- the AST node (e.g., class, method, constructor) to search above.- Returns:
- the
DetailAST
representing the Javadoc comment if found and valid;null
otherwise.
-
countCommentLines
Counts the number of lines in a block comment.- Parameters:
blockComment
- the AST node representing the block comment.- Returns:
- the number of lines in the comment.
-
checkTag
Validates the Javadoc comment against the configured requirements.- Parameters:
astLineNo
- the line number of the type definition.javadocLineNo
- the starting line number of the Javadoc comment block.comment
- the lines of the Javadoc comment block.
-
logTag
Log a message.- Parameters:
line
- the line number where the violation was foundtagName
- the javadoc tag to be loggedtagValue
- the contents of the tag- See Also:
-