Class JavadocUtil


  • public final class JavadocUtil
    extends Object
    Contains utility methods for working with Javadoc.
    • Constructor Detail

      • JavadocUtil

        private JavadocUtil()
        Prevent instantiation.
    • Method Detail

      • getJavadocTags

        public static JavadocTags getJavadocTags​(TextBlock textBlock,
                                                 JavadocUtil.JavadocTagType tagType)
        Gets validTags from a given piece of Javadoc.
        Parameters:
        textBlock - the Javadoc comment to process.
        tagType - the type of validTags we're interested in
        Returns:
        all standalone validTags from the given javadoc.
      • isJavadocComment

        public static boolean isJavadocComment​(String commentContent)
        Checks that commentContent starts with '*' javadoc comment identifier.
        Parameters:
        commentContent - content of block comment
        Returns:
        true if commentContent starts with '*' javadoc comment identifier.
      • isJavadocComment

        public static boolean isJavadocComment​(DetailAST blockCommentBegin)
        Checks block comment content starts with '*' javadoc comment identifier.
        Parameters:
        blockCommentBegin - block comment AST
        Returns:
        true if block comment content starts with '*' javadoc comment identifier.
      • getBlockCommentContent

        public static String getBlockCommentContent​(DetailAST blockCommentBegin)
        Gets content of block comment.
        Parameters:
        blockCommentBegin - block comment AST.
        Returns:
        content of block comment.
      • getJavadocCommentContent

        public static String getJavadocCommentContent​(DetailAST javadocCommentBegin)
        Get content of Javadoc comment.
        Parameters:
        javadocCommentBegin - Javadoc comment AST
        Returns:
        content of Javadoc comment.
      • findFirstToken

        public static DetailNode findFirstToken​(DetailNode detailNode,
                                                int type)
        Returns the first child token that has a specified type.
        Parameters:
        detailNode - Javadoc AST node
        type - the token type to match
        Returns:
        the matching token, or null if no match
      • getFirstChild

        public static DetailNode getFirstChild​(DetailNode node)
        Gets first child node of specified node.
        Parameters:
        node - DetailNode
        Returns:
        first child
      • containsInBranch

        public static boolean containsInBranch​(DetailNode node,
                                               int type)
        Checks whether node contains any node of specified type among children on any deep level.
        Parameters:
        node - DetailNode
        type - token type
        Returns:
        true if node contains any node of type type among children on any deep level.
      • getNextSibling

        public static DetailNode getNextSibling​(DetailNode node,
                                                int tokenType)
        Gets next sibling of specified node with the specified type.
        Parameters:
        node - DetailNode
        tokenType - javadoc token type
        Returns:
        next sibling.
      • getTokenName

        public static String getTokenName​(int id)
        Returns the name of a token for a given ID.
        Parameters:
        id - the ID of the token name to get
        Returns:
        a token name
        Throws:
        IllegalArgumentException - if an unknown token ID was specified.
      • getTokenId

        public static int getTokenId​(String name)
        Returns the ID of a token for a given name.
        Parameters:
        name - the name of the token ID to get
        Returns:
        a token ID
        Throws:
        IllegalArgumentException - if an unknown token name was specified.
      • getTagName

        public static String getTagName​(DetailNode javadocTagSection)
        Gets tag name from javadocTagSection.
        Parameters:
        javadocTagSection - to get tag name from.
        Returns:
        name, of the javadocTagSection's tag.
      • escapeAllControlChars

        public static String escapeAllControlChars​(String text)
        Replace all control chars with escaped symbols.
        Parameters:
        text - the String to process.
        Returns:
        the processed String with all control chars escaped.
      • isCorrectJavadocPosition

        public static boolean isCorrectJavadocPosition​(DetailAST blockComment)
        Checks Javadoc comment it's in right place.

        From Javadoc util documentation: "Placement of comments - Documentation comments are recognized only when placed immediately before class, interface, constructor, method, field or annotation field declarations -- see the class example, method example, and field example. Documentation comments placed in the body of a method are ignored."

        If there are many documentation comments per declaration statement, only the last one will be recognized.

        Parameters:
        blockComment - Block comment AST
        Returns:
        true if Javadoc is in right place
        See Also:
        Javadoc util documentation