Class JavadocParagraphCheck
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.JavadocParagraphCheck
- All Implemented Interfaces:
Configurable,Contextualizable
Checks the Javadoc paragraph.
Checks that:
- There is one blank line between each of two paragraphs.
- Each paragraph but the first has <p> immediately before the first word, with no space after.
- The outer most paragraph tags should not precede HTML block-tag. Nested paragraph tags are allowed to do that. This check only supports following block-tags: <address>,<blockquote> ,<div>,<dl> ,<h1>,<h2>,<h3>,<h4>,<h5>,<h6>,<hr> ,<ol>,<p>,<pre> ,<table>,<ul>.
ATTENTION:
This Check ignores HTML comments.
The Check ignores all the nested paragraph tags, it will not give any kind of violation if the paragraph tag is nested.
- Since:
- 6.0
-
Nested Class Summary
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
AbstractAutomaticBean.OutputStreamOptions -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanControl whether the <p> tag should be placed immediately before the first word.Set of block tags supported by this check.static final StringA key is pointing to the warning message text in "messages.properties" file.static final StringA key is pointing to the warning message text in "messages.properties" file.static final StringA key is pointing to the warning message text in "messages.properties" file.static final StringA key is pointing to the warning message text in "messages.properties" file.static final StringA key is pointing to the warning message text in "messages.properties" file.private static final StringConstant for the paragraph 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 TypeMethodDescriptionprivate voidcheckEmptyLine(DetailNode newline) Determines whether or not the next line after empty line has paragraph tag in the beginning.private voidDetermines whether or not the line with paragraph tag has previous empty line.private static DetailNodeFinds and returns first html element after the tag.private static StringDetermines whether or not the paragraph tag is followed by block tag.int[]Returns the default javadoc token types a check is interested in.private static StringgetHtmlElementName(DetailNode htmlElement) Finds and returns first block-level html element name.private static DetailNodeFinds and returns nearest empty line in javadoc.private static DetailNodegetNearestNode(DetailNode node) Returns nearest node.private static DetailNodegetNextSibling(DetailNode tag) Custom getNextSibling method to handle different types of paragraph tag.int[]The javadoc tokens that this check must be registered for.private static booleaninsideNonTightHtml(DetailNode previousSibling) Checks whether the given node is inside a non-tight HTML element.private static booleanisEmptyLine(DetailNode newLine) Determines whether or not the line is empty line.private static booleanisFirstParagraph(DetailNode paragraphTag) Determines whether or not the line with paragraph tag is first line in javadoc.private static booleanTests whether the paragraph tag is immediately followed by the new line.private static booleanTests whether the paragraph tag is immediately followed by the text.private static booleanDetermines whether the paragraph tag is nested.voidsetAllowNewlineParagraph(boolean value) Setter to control whether the <p> tag should be placed immediately before the first word.voidCalled 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, visitTokenMethods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractCheck
clearViolations, getFileContents, getFilePath, getLine, getLineCodePoints, getLines, getTabWidth, getTokenNames, getViolations, leaveToken, log, log, log, setFileContents, setTabWidth, setTokensMethods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverityMethods inherited from class com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
configure, contextualize, getConfiguration, setupChild
-
Field Details
-
MSG_TAG_AFTER
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
MSG_LINE_BEFORE
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
MSG_REDUNDANT_PARAGRAPH
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
MSG_MISPLACED_TAG
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
MSG_PRECEDED_BLOCK_TAG
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
PARAGRAPH_TAG
Constant for the paragraph tag name.- See Also:
-
BLOCK_TAGS
Set of block tags supported by this check. -
allowNewlineParagraph
Control whether the <p> tag should be placed immediately before the first word.
-
-
Constructor Details
-
JavadocParagraphCheck
public JavadocParagraphCheck()
-
-
Method Details
-
setAllowNewlineParagraph
Setter to control whether the <p> tag should be placed immediately before the first word.- Parameters:
value- value to set.- Since:
- 6.9
-
getDefaultJavadocTokens
Description copied from class:AbstractJavadocCheckReturns the default javadoc token types a check is interested in.- Specified by:
getDefaultJavadocTokensin classAbstractJavadocCheck- Returns:
- the default javadoc token types
- See Also:
-
getRequiredJavadocTokens
Description copied from class:AbstractJavadocCheckThe javadoc tokens that this check must be registered for.- Overrides:
getRequiredJavadocTokensin classAbstractJavadocCheck- Returns:
- the javadoc token set this must be registered for.
- See Also:
-
visitJavadocToken
Description copied from class:AbstractJavadocCheckCalled to process a Javadoc token.- Specified by:
visitJavadocTokenin classAbstractJavadocCheck- Parameters:
ast- the token to process
-
checkEmptyLine
Determines whether or not the next line after empty line has paragraph tag in the beginning.- Parameters:
newline- NEWLINE node.
-
checkParagraphTag
Determines whether or not the line with paragraph tag has previous empty line.- Parameters:
tag- html tag.
-
isNestedParagraph
Determines whether the paragraph tag is nested.- Parameters:
tag- html tag.- Returns:
- true, if the paragraph tag is nested.
-
findFollowedBlockTagName
Determines whether or not the paragraph tag is followed by block tag.- Parameters:
tag- html tag.- Returns:
- block tag if the paragraph tag is followed by block tag or null if not found.
-
findFirstHtmlElementAfter
Finds and returns first html element after the tag.- Parameters:
tag- html tag.- Returns:
- first html element after the paragraph tag or null if not found.
-
getHtmlElementName
Finds and returns first block-level html element name.- Parameters:
htmlElement- block-level html tag.- Returns:
- block-level html element name or null if not found.
-
getNearestNode
Returns nearest node.- Parameters:
node- DetailNode node.- Returns:
- nearest node.
-
isEmptyLine
Determines whether or not the line is empty line.- Parameters:
newLine- NEWLINE node.- Returns:
- true, if line is empty line.
-
insideNonTightHtml
Checks whether the given node is inside a non-tight HTML element.- Parameters:
previousSibling- the node to check- Returns:
- true if inside non-tight HTML, false otherwise
-
isFirstParagraph
Determines whether or not the line with paragraph tag is first line in javadoc.- Parameters:
paragraphTag- paragraph tag.- Returns:
- true, if line with paragraph tag is first line in javadoc.
-
getNearestEmptyLine
Finds and returns nearest empty line in javadoc.- Parameters:
node- DetailNode node.- Returns:
- Some nearest empty line in javadoc.
-
isImmediatelyFollowedByText
Tests whether the paragraph tag is immediately followed by the text.- Parameters:
tag- html tag.- Returns:
- true, if the paragraph tag is immediately followed by the text.
-
isImmediatelyFollowedByNewLine
Tests whether the paragraph tag is immediately followed by the new line.- Parameters:
tag- html tag.- Returns:
- true, if the paragraph tag is immediately followed by the new line.
-
getNextSibling
Custom getNextSibling method to handle different types of paragraph tag. It works for both<p>and<p></p>tags.- Parameters:
tag- HTML_ELEMENT tag.- Returns:
- next sibling of the tag.
-