JavadocLeadingAsteriskAlign
Since Checkstyle 10.18.0
Description
Checks the alignment of
leading asterisks in a Javadoc comment. The Check ensures that leading asterisks
are aligned vertically under the first asterisk ( * )
of opening Javadoc tag. The alignment of closing Javadoc tag ( */ ) is also checked.
If a closing Javadoc tag contains non-whitespace character before it
then it's alignment will be ignored.
If the ending javadoc line contains a leading asterisk,
then that leading asterisk's alignment will be considered,
the closing Javadoc tag will be ignored.
If you're using tabs then specify the the tab width in the tabWidth property.
Properties
name | description | type | default value | since |
---|---|---|---|---|
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 |
10.18 |
Examples
To configure the check:
<module name="Checker">
<module name="TreeWalker">
<module name="JavadocLeadingAsteriskAlign" />
</module>
</module>
Example with correct alignment:
/** Title
* Javadoc for class
*/
public class Example1 {
/** javadoc for instance variable. */
private int ball;
/**
* Javadoc for instance variable
*/
private int age;
/**
Javadoc for method. */
private void foo() {}
/**
Javadoc for Constructor.
This javadoc is allowed because there is no leading asterisk.
*/
public Example1() {}
/**
* Javadoc for enum.
*/
private enum correctJavadocEnum {
/**
* Correct Indentation for leading asterisk */
ONE,
/**
Allowed because there are non-whitespace characters before the ending block. */
TWO
}
}
Example with incorrect alignment:
/** Title
* Javadoc for class // violation
*/ // violation
public class Example2 {
/**
* Javadoc for instance variable. // violation
*/ // violation
private String name;
/**
* Javadoc for method. // violation
*/ // violation
private void foo() {}
/**
Javadoc for Constructor.
*/ // violation
private Example2() {}
/**
* Javadoc for enum. // violation
*/
private enum incorrectJavadocEnum {
/**
* // violation
*/
ONE,
/**
* Incorrect indentation for leading asterisk. */ // violation
TWO,
/**
* // violation
*/
THREE
}
}
To configure the check with tabWidth
property:
<module name="Checker">
<module name="TreeWalker">
<module name="JavadocLeadingAsteriskAlign">
<property name="tabWidth" value="2"/>
</module>
</module>
</module>
Example:
/**
* Example with `tabWidth` property.
* This example contains Tabs as well as Spaces.
*/
public class Example3 {
/** <- Preceded with Tabs.
* <- Preceded with Tabs & Spaces.
*/ // <- Preceded with Tabs & Spaces.
private String name;
/** <- Preceded with Spaces.
* <- Preceded with Tabs.
*/ // <- Preceded with Tabs.
private void foo() {}
/**
* // violation
*/ // violation
private Example3() {}
private enum tabsExample {
/**
* Incorrect indentation for leading asterisk. // violation */
ONE,
/**
This javadoc is allowed because there is no leading asterisk.
*/
TWO
}
}
Example of Usage
Violation Messages
- javadoc.asterisk.indentation
- javadoc.missed.html.close
- javadoc.parse.rule.error
- javadoc.unclosedHtml
- javadoc.wrong.singleton.html.tag
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
Package
com.puppycrawl.tools.checkstyle.checks.javadoc