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 there 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.).

    • 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.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Enum<JavadocTagInfo>