Class JavadocLeadingAsteriskAlignCheck

All Implemented Interfaces:
Configurable, Contextualizable

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.

  • Property violateExecutionOnNonTightHtml - Control when to print violations if the Javadoc being examined by this check violates the tight html rules defined at Tight-HTML Rules. Type is boolean. Default value is false.

Parent is com.puppycrawl.tools.checkstyle.TreeWalker

Violation Message Keys:

  • javadoc.asterisk.indentation
  • javadoc.missed.html.close
  • javadoc.parse.rule.error
  • javadoc.unclosedHtml
  • javadoc.wrong.singleton.html.tag
Since:
10.18.0
  • Field Details

  • Constructor Details

  • Method Details

    • getDefaultJavadocTokens

      public int[] getDefaultJavadocTokens()
      Description copied from class: AbstractJavadocCheck
      Returns the default javadoc token types a check is interested in.
      Specified by:
      getDefaultJavadocTokens in class AbstractJavadocCheck
      Returns:
      the default javadoc token types
      See Also:
    • getRequiredJavadocTokens

      public int[] getRequiredJavadocTokens()
      Description copied from class: AbstractJavadocCheck
      The javadoc tokens that this check must be registered for.
      Overrides:
      getRequiredJavadocTokens in class AbstractJavadocCheck
      Returns:
      the javadoc token set this must be registered for.
      See Also:
    • beginJavadocTree

      public void beginJavadocTree(DetailNode rootAst)
      Description copied from class: AbstractJavadocCheck
      Called before the starting to process a tree.
      Overrides:
      beginJavadocTree in class AbstractJavadocCheck
      Parameters:
      rootAst - the root of the tree
    • visitJavadocToken

      public void visitJavadocToken(DetailNode ast)
      Description copied from class: AbstractJavadocCheck
      Called to process a Javadoc token.
      Specified by:
      visitJavadocToken in class AbstractJavadocCheck
      Parameters:
      ast - the token to process
    • finishJavadocTree

      public void finishJavadocTree(DetailNode rootAst)
      Description copied from class: AbstractJavadocCheck
      Called after finished processing a tree.
      Overrides:
      finishJavadocTree in class AbstractJavadocCheck
      Parameters:
      rootAst - the root of the tree
    • expandedTabs

      private int expandedTabs(String line, int columnNumber)
      Processes and returns the column number of leading asterisk with tabs expanded. Also sets 'expectedColumnNumberWithoutExpandedTabs' if the leading asterisk is present.
      Parameters:
      line - javadoc comment line
      columnNumber - column number of leading asterisk
      Returns:
      column number of leading asterisk with tabs expanded
    • getAsteriskColumnNumber

      Processes and returns an OptionalInt containing the column number of leading asterisk without tabs expanded.
      Parameters:
      line - javadoc comment line
      Returns:
      asterisk's column number
    • logViolation

      private void logViolation(int lineNumber, int asteriskColNumber, int expectedColNumber)
      Checks alignment of asterisks and logs violations.
      Parameters:
      lineNumber - line number of current comment line
      asteriskColNumber - column number of leading asterisk
      expectedColNumber - column number of javadoc starting token
    • hasValidAlignment

      private static boolean hasValidAlignment(int expectedColNumber, int asteriskColNumber)
      Checks the column difference between expected column number and leading asterisk column number.
      Parameters:
      expectedColNumber - column number of javadoc starting token
      asteriskColNumber - column number of leading asterisk
      Returns:
      true if the asterisk is aligned properly, false otherwise