Since Checkstyle 6.0
Checks that:
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.
name | description | type | default value | since |
---|---|---|---|---|
allowNewlineParagraph | Control whether the <p> tag should be placed immediately before the first word. | boolean | true |
6.9 |
violateExecutionOnNonTightHtml | Control when to print violations if the Javadoc being examined by this check violates the tight html rules defined at Tight-HTML Rules. | boolean | false |
8.3 |
To configure the default check:
<module name="Checker"> <module name="TreeWalker"> <module name="JavadocParagraph"/> </module> </module>
By default, the check will report a violation if there is no empty line before or whitespace after the <p> tag:
// violation 5 lines below '<p> tag should be preceded with an empty line' /** * No tag * * <p>Tag immediately before the text * <p>No blank line before the tag * * <p> * New line after tag * * <p> Whitespace after tag * * <p><b>p tag before inline tag B, this is ok</b></p> */ // violation 4 lines above 'tag should be placed immediately before the first word' public class Example1 { // violation 4 lines below '<p> tag should not precede HTML block-tag '<pre>'' /** * No tag * * <p> * <pre>item 1</pre> * * <table> * <tbody> * <p> * <tr> * nested paragraph preceding block tag, this is ok. * </tr> * </tbody> * </table> */ void foo1() {} // violation 2 lines below 'Redundant <p> tag' /** * <p> * Checks whether a redundant tag is present * </p> */ void foo2() {} // violation 3 lines below 'Empty line should be followed by <p> tag' /** * Double newline. * * Some Paragraph. */ void foo3() {} }
To not allow newlines and spaces immediately after the <p> tag:
<module name="Checker"> <module name="TreeWalker"> <module name="JavadocParagraph"> <property name="allowNewlineParagraph" value="false"/> </module> </module> </module>
In case of allowNewlineParagraph
set to false
the following example will have violations:
// violation 5 lines below '<p> tag should be preceded with an empty line' /** * No tag * * <p>Tag immediately before the text * <p>No blank line before the tag * * <p> * New line after tag * * <p> Whitespace after tag * * <p><b>p tag before inline tag B, this is ok</b></p> */ // violation 7 lines above 'tag should be placed immediately before the first word' // violation 5 lines above 'tag should be placed immediately before the first word' public class Example2 { // 2 violations 6 lines below: // 'tag should be placed immediately before the first word' // '<p> tag should not precede HTML block-tag '<pre>'' /** * No tag * * <p> * <pre>item 1</pre> * * <table> * <tbody> * <p> * <tr> * nested paragraph preceding block tag, this is ok. * </tr> * </tbody> * </table> */ void foo1() {} // 2 violations 4 lines below: // 'tag should be placed immediately before the first word' // 'Redundant <p> tag' /** * <p> * Checks whether a redundant tag is present * </p> */ void foo2() {} // violation 3 lines below 'Empty line should be followed by <p> tag' /** * Double newline. * * Some Paragraph. */ void foo3() {} }
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
com.puppycrawl.tools.checkstyle.checks.javadoc