Class JavadocTagContinuationIndentationCheck
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.AbstractJavadocCheck
com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTagContinuationIndentationCheck
- All Implemented Interfaces:
Configurable
,Contextualizable
Checks the indentation of the continuation lines in block tags. That is whether the continued
description of at clauses should be indented or not. If the text is not properly indented it
throws a violation. A continuation line is when the description starts/spans past the line with
the tag. Default indentation required is at least 4, but this can be changed with the help of
properties below.
-
Notes:
This check does not validate the indentation of lines inside
pre
tags.
- Since:
- 6.0
-
Nested Class Summary
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
AbstractAutomaticBean.OutputStreamOptions
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
Default tag continuation indentation.static final String
A key is pointing to the warning message text in "messages.properties" file.private int
Specify how many spaces to use for new indentation level.Fields inherited from class com.puppycrawl.tools.checkstyle.checks.javadoc.AbstractJavadocCheck
MSG_JAVADOC_MISSED_HTML_CLOSE, MSG_JAVADOC_PARSE_RULE_ERROR, MSG_JAVADOC_WRONG_SINGLETON_TAG, MSG_KEY_UNCLOSED_HTML_TAG
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
containsPreTag
(DetailNode ast) Checks if the given HTML related node contains<pre>
tag.private static List<DetailNode>
getAllNewlineNodes
(DetailNode descriptionNode) Finds and collects all NEWLINE nodes inside DESCRIPTION node.int[]
Returns the default javadoc token types a check is interested in.int[]
The javadoc tokens that this check must be registered for.private static boolean
isBlockDescription
(DetailNode description) Checks if the given description node is part of a block Javadoc tag.private static boolean
isHtmlTagChildOfPreTag
(DetailNode htmlTag) Checks if the given HTML_TAG is contained inside<pre>
tag.private static boolean
isInlineDescription
(DetailNode description) Checks, if description node is a description of in-line tag.private boolean
isViolation
(DetailNode textNode) Checks if a text node meets the criteria for a violation.void
setOffset
(int offset) Setter to specify how many spaces to use for new indentation level.void
Called to process a Javadoc token.Methods inherited from class com.puppycrawl.tools.checkstyle.checks.javadoc.AbstractJavadocCheck
acceptJavadocWithNonTightHtml, beginJavadocTree, beginTree, destroy, finishJavadocTree, finishTree, getAcceptableJavadocTokens, getAcceptableTokens, getBlockCommentAst, getDefaultTokens, getRequiredTokens, init, isCommentNodesRequired, leaveJavadocToken, setJavadocTokens, setViolateExecutionOnNonTightHtml, visitToken
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractCheck
clearViolations, getFileContents, getFilePath, getLine, getLineCodePoints, getLines, getTabWidth, getTokenNames, getViolations, 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_KEY
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
DEFAULT_INDENTATION
Default tag continuation indentation.- See Also:
-
offset
Specify how many spaces to use for new indentation level.
-
-
Constructor Details
-
JavadocTagContinuationIndentationCheck
-
-
Method Details
-
setOffset
Setter to specify how many spaces to use for new indentation level.- Parameters:
offset
- custom value.- Since:
- 6.0
-
getDefaultJavadocTokens
Description copied from class:AbstractJavadocCheck
Returns the default javadoc token types a check is interested in.- Specified by:
getDefaultJavadocTokens
in classAbstractJavadocCheck
- Returns:
- the default javadoc token types
- See Also:
-
getRequiredJavadocTokens
Description copied from class:AbstractJavadocCheck
The javadoc tokens that this check must be registered for.- Overrides:
getRequiredJavadocTokens
in classAbstractJavadocCheck
- Returns:
- the javadoc token set this must be registered for.
- See Also:
-
visitJavadocToken
Description copied from class:AbstractJavadocCheck
Called to process a Javadoc token.- Specified by:
visitJavadocToken
in classAbstractJavadocCheck
- Parameters:
ast
- the token to process
-
isHtmlTagChildOfPreTag
Checks if the given HTML_TAG is contained inside<pre>
tag. For cases when another HTML tag is placed next to or before<pre>
tag. For example:<pre><someOtherTag> some thing </someOtherTag></pre>
- Parameters:
htmlTag
- HTML_TAG- Returns:
true
ifpre
tag is parent of the given tag, elsefalse
.
-
isViolation
Checks if a text node meets the criteria for a violation. If the text is shorter thanoffset
characters, then a violation is detected if the text is not blank or the next node is not a newline. If the text is longer thanoffset
characters, then a violation is detected if any of the firstoffset
characters are not blank.- Parameters:
textNode
- the node to check.- Returns:
- true if the node has a violation.
-
getAllNewlineNodes
Finds and collects all NEWLINE nodes inside DESCRIPTION node.- Parameters:
descriptionNode
- DESCRIPTION node.- Returns:
- List with NEWLINE nodes.
-
containsPreTag
Checks if the given HTML related node contains<pre>
tag.- Parameters:
ast
- the node to check- Returns:
true
if the<pre>
tag is inside the node,false
otherwise
-
isBlockDescription
Checks if the given description node is part of a block Javadoc tag.- Parameters:
description
- the node to check- Returns:
true
if the node is inside a block tag,false
otherwise
-
isInlineDescription
Checks, if description node is a description of in-line tag.- Parameters:
description
- DESCRIPTION node.- Returns:
- true, if description node is a description of in-line tag.
-