Class JavadocFormatter

java.lang.Object
com.google.googlejavaformat.java.javadoc.JavadocFormatter

public final class JavadocFormatter extends Object
Entry point for formatting Javadoc.

This stateless class reads tokens from the stateful lexer and translates them to "requests" and "writes" to the stateful writer. It also munges tokens into "standardized" forms. Finally, it performs postprocessing to convert the written Javadoc to a one-liner if possible or to leave a single blank line if it's empty.

  • Field Details

    • MAX_LINE_LENGTH

      static final int MAX_LINE_LENGTH
      See Also:
    • STANDARD_BR_TOKEN

      private static final Token STANDARD_BR_TOKEN
    • STANDARD_P_TOKEN

      private static final Token STANDARD_P_TOKEN
    • SIMPLE_TAG_PATTERN

      private static final Pattern SIMPLE_TAG_PATTERN
    • ONE_CONTENT_LINE_PATTERN

      private static final Pattern ONE_CONTENT_LINE_PATTERN
  • Constructor Details

    • JavadocFormatter

      private JavadocFormatter()
  • Method Details

    • formatJavadoc

      public static String formatJavadoc(String input, int blockIndent)
      Formats the given Javadoc comment, which must start with ∕✱✱ and end with ✱∕. The output will start and end with the same characters.
    • render

      private static String render(List<Token> input, int blockIndent)
    • standardizeBrToken

      private static Token standardizeBrToken(Token token)
    • standardizePToken

      private static Token standardizePToken(Token token)
    • standardize

      private static Token standardize(Token token, Token standardToken)
    • makeSingleLineIfPossible

      private static String makeSingleLineIfPossible(int blockIndent, String input)
      Returns the given string or a one-line version of it (e.g., "∕✱✱ Tests for foos. ✱∕") if it fits on one line.
    • oneLineJavadoc

      private static boolean oneLineJavadoc(String line, int blockIndent)