Class 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
  • Field Details

  • Constructor Details

  • Method Details

    • setOffset

      public void setOffset(int offset)
      Setter to specify how many spaces to use for new indentation level.
      Parameters:
      offset - custom value.
      Since:
      6.0
    • 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:
    • 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
    • isHtmlTagChildOfPreTag

      private static boolean isHtmlTagChildOfPreTag(DetailNode htmlTag)
      Checks if the given HTML_TAG is contained inside <pre> tag. For cases when another HTML tag is placed next to or before <pre> tag. For example:
       
       <pre><someOtherTag>
           some thing
       </someOtherTag></pre>
       
       
      Parameters:
      htmlTag - HTML_TAG
      Returns:
      true if pre tag is parent of the given tag, else false.
    • isViolation

      private boolean isViolation(DetailNode textNode)
      Checks if a text node meets the criteria for a violation. If the text is shorter than offset 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 than offset characters, then a violation is detected if any of the first offset characters are not blank.
      Parameters:
      textNode - the node to check.
      Returns:
      true if the node has a violation.
    • getAllNewlineNodes

      private static List<DetailNode> getAllNewlineNodes(DetailNode descriptionNode)
      Finds and collects all NEWLINE nodes inside DESCRIPTION node.
      Parameters:
      descriptionNode - DESCRIPTION node.
      Returns:
      List with NEWLINE nodes.
    • containsPreTag

      private static boolean containsPreTag(DetailNode ast)
      Checks if the given HTML related node contains <pre> tag.
      Parameters:
      ast - the node to check
      Returns:
      true if the <pre> tag is inside the node, false otherwise
    • isBlockDescription

      private static boolean isBlockDescription(DetailNode description)
      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

      private static boolean isInlineDescription(DetailNode description)
      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.