Enum JavadocTagInfo

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<JavadocTagInfo>

    public enum JavadocTagInfo
    extends java.lang.Enum<JavadocTagInfo>
    This enum defines the various Javadoc tags and their properties.

    This class was modeled after documentation located at javadoc and how to write.

    Some of this documentation was a little incomplete (ex: valid placement of code, value, and literal tags).

    Whenever an inconsistency was found the author's judgment was used.

    For now, the number of required/optional tag arguments are not included because some Javadoc tags have very complex rules for determining this (ex: {@value} tag).

    Also, the isValidOn method does not consider classes defined in a local code block (method, init block, etc.).

    • Field Detail

      • DEF_TOKEN_TYPES_DEPRECATED

        private static final java.util.BitSet DEF_TOKEN_TYPES_DEPRECATED
        Default token types for DEPRECATED Javadoc tag.
      • DEF_TOKEN_TYPES

        private static final java.util.BitSet DEF_TOKEN_TYPES
        Default token types.
      • TEXT_TO_TAG

        private static final java.util.Map<java.lang.String,​JavadocTagInfo> TEXT_TO_TAG
        Holds tag text to tag enum mappings.
      • NAME_TO_TAG

        private static final java.util.Map<java.lang.String,​JavadocTagInfo> NAME_TO_TAG
        Holds tag name to tag enum mappings.
      • text

        private final java.lang.String text
        The tag text.
      • name

        private final java.lang.String name
        The tag name.
    • Constructor Detail

      • JavadocTagInfo

        private JavadocTagInfo​(java.lang.String text,
                               java.lang.String name,
                               JavadocTagInfo.Type type)
        Sets the various properties of a Javadoc tag.
        Parameters:
        text - the tag text
        name - the tag name
        type - the type of tag
    • Method Detail

      • values

        public static JavadocTagInfo[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (JavadocTagInfo c : JavadocTagInfo.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static JavadocTagInfo valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • isValidOn

        public abstract boolean isValidOn​(DetailAST ast)
        Checks if a particular Javadoc tag is valid within a Javadoc block of a given AST.

        If passing in a DetailAST representing a non-void METHOD_DEF true would be returned. If passing in a DetailAST representing a CLASS_DEF false would be returned because CLASS_DEF's cannot return a value.

        Parameters:
        ast - the AST representing a type that can be Javadoc'd
        Returns:
        true if tag is valid.
      • getText

        public java.lang.String getText()
        Gets the tag text.
        Returns:
        the tag text
      • getName

        public java.lang.String getName()
        Gets the tag name.
        Returns:
        the tag name
      • fromText

        public static JavadocTagInfo fromText​(java.lang.String text)
        Returns a JavadocTag from the tag text.
        Parameters:
        text - String representing the tag text
        Returns:
        Returns a JavadocTag type from a String representing the tag
        Throws:
        java.lang.NullPointerException - if the text is null
        java.lang.IllegalArgumentException - if the text is not a valid tag
      • fromName

        public static JavadocTagInfo fromName​(java.lang.String name)
        Returns a JavadocTag from the tag name.
        Parameters:
        name - String name of the tag
        Returns:
        Returns a JavadocTag type from a String representing the tag
        Throws:
        java.lang.NullPointerException - if the text is null
        java.lang.IllegalArgumentException - if the text is not a valid tag. The name can be checked using isValidName(String)
      • isValidName

        public static boolean isValidName​(java.lang.String name)
        Returns whether the provided name is for a valid tag.
        Parameters:
        name - the tag name to check.
        Returns:
        whether the provided name is for a valid tag.