Class JavadocMetadataScraperUtil

java.lang.Object
com.puppycrawl.tools.checkstyle.meta.JavadocMetadataScraperUtil

public final class JavadocMetadataScraperUtil extends Object
Class for scraping module metadata from the corresponding class' class-level javadoc.
  • Field Details

    • TOKEN_TEXT_PATTERN

      private static final Pattern TOKEN_TEXT_PATTERN
      Regular expression for detecting ANTLR tokens(for e.g. CLASS_DEF).
  • Constructor Details

  • Method Details

    • constructSubTreeText

      public static String constructSubTreeText(DetailNode node, int childLeftLimit, int childRightLimit)
      Performs a DFS of the subtree with a node as the root and constructs the text of that tree, ignoring JavadocToken texts.
      Parameters:
      node - root node of subtree
      childLeftLimit - the left index of root children from where to scan
      childRightLimit - the right index of root children till where to scan
      Returns:
      constructed text of subtree
    • isContentToWrite

      private static boolean isContentToWrite(DetailNode detailNode)
      Checks whether selected Javadoc node is considered as something to write.
      Parameters:
      detailNode - javadoc node to check.
      Returns:
      whether javadoc node is something to write.
    • adjustCodeInlineTagChildToHtml

      Adjusts certain child of @code Javadoc inline tag to its analogous html format.
      Parameters:
      codeChild - @code child to convert.
      Returns:
      converted @code child element, otherwise just the original text.
    • getFirstChildOfType

      private static Optional<DetailNode> getFirstChildOfType(DetailNode node, int tokenType, int offset)
      Returns the first child node which matches the provided TokenType and has the children index after the offset value.
      Parameters:
      node - parent node
      tokenType - token type to match
      offset - children array index offset
      Returns:
      the first child satisfying the conditions
    • isChildNodeTextMatches

      public static boolean isChildNodeTextMatches(DetailNode ast, Pattern pattern)
      Checks whether the first child JavadocTokenType.TEXT node matches given pattern.
      Parameters:
      ast - parent javadoc node
      pattern - pattern to match
      Returns:
      true if one of child text nodes matches pattern