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.private static final String
Constant for the pre tag name.Fields inherited from class com.puppycrawl.tools.checkstyle.checks.javadoc.AbstractJavadocCheck
MSG_JAVADOC_PARSE_RULE_ERROR, MSG_KEY_UNCLOSED_HTML_TAG
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint[]
Returns the default javadoc token types a check is interested in.int[]
The javadoc tokens that this check must be registered for.private static List<DetailNode>
Returns all targeted text nodes from the given AST node.private static List<DetailNode>
getTargetedTextNodesInsideDescription
(DetailNode descriptionNode) Returns all targeted text nodes inside a description node.private static List<DetailNode>
Returns all targeted text nodes within an HTML element subtree.private static boolean
isBeforePreTag
(DetailNode node) Checks if a node is located before apre
tag.private static boolean
isBlockDescription
(DetailNode description) Checks if the given description node is part of a block Javadoc tag.private static boolean
isInlineDescription
(DetailNode description) Checks, if description node is a description of in-line tag.private static boolean
isInsidePreTag
(DetailNode node) Checks if a node is inside apre
tag.private static boolean
isTargetTextNode
(DetailNode node) Determines whether the given node is a targeted node.private static boolean
Checks whether the given node is either a TEXT node or an ATTRIBUTE_VALUE node.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.private static boolean
Checks whether the given subtree node represents part of an HTML tag structure that may contain attribute values.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:
-
PRE_TAG
Constant for the pre tag name.- 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
-
getTargetedTextNodes
Returns all targeted text nodes from the given AST node. This method decides whether to process the node as a description node or as an HTML element node and delegates to the appropriate helper method.- Parameters:
ast
- the AST node to process- Returns:
- list of targeted text nodes
-
getTargetedTextNodesInsideHtmlElement
Returns all targeted text nodes within an HTML element subtree.- Parameters:
ast
- the HTML element AST node- Returns:
- list of targeted text nodes inside the HTML element
-
subtreeContainsAttributeValue
Checks whether the given subtree node represents part of an HTML tag structure that may contain attribute values.- Parameters:
node
- the AST node to check- Returns:
- true if the subtree may contain attribute values, false otherwise
-
getTargetedTextNodesInsideDescription
Returns all targeted text nodes inside a description node.- Parameters:
descriptionNode
- the DESCRIPTION node to process- Returns:
- list of targeted text nodes inside the description node
-
isTargetTextNode
Determines whether the given node is a targeted node.- Parameters:
node
- the AST node to check- Returns:
- true if the node is a targeted node, false otherwise
-
isBeforePreTag
Checks if a node is located before apre
tag.- Parameters:
node
- the node to check- Returns:
- true if the node is before a pre tag, false otherwise
-
isInsidePreTag
Checks if a node is inside apre
tag.- Parameters:
node
- the node to check- Returns:
- true if the node is inside a pre tag, false otherwise
-
isTextOrAttributeValueNode
Checks whether the given node is either a TEXT node or an ATTRIBUTE_VALUE node.- Parameters:
node
- the AST node to check- Returns:
- true if the node is a TEXT or ATTRIBUTE_VALUE node, false otherwise
-
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.
-
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.
-