# Enum Class DocTree.Kind

java.lang.Object
java.lang.Enum<DocTree.Kind>
com.sun.source.doctree.DocTree.Kind

All Implemented Interfaces:
  `Serializable, Comparable<DocTree.Kind>, Constable`

Enclosing interface:
  `DocTree`

public static enum DocTree.Kind extends Enum<DocTree.Kind>
Enumerates all kinds of trees.

Since:
  1.8

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class Enum

  `Enum.EnumDesc<E>`
  Modifier and Type
  Class
  Description
  `static final class`
  `Enum.EnumDesc<E extends Enum<E>>`
  A nominal descriptor for an `enum` constant.

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `ATTRIBUTE`
  Used for instances of `AttributeTree` representing an attribute in an HTML element or tag.
  `AUTHOR`
  Used for instances of `AuthorTree` representing an `@author` tag.
  `CODE`
  Used for instances of `LiteralTree` representing an `@code` tag.
  `COMMENT`
  Used for instances of `CommentTree` representing an HTML comment.
  `DEPRECATED`
  Used for instances of `DeprecatedTree` representing an `@deprecated` tag.
  `DOC_COMMENT`
  Used for instances of `DocCommentTree` representing a complete doc comment.
  `DOC_ROOT`
  Used for instances of `DocRootTree` representing an `@docRoot` tag.
  `DOC_TYPE`
  Used for instances of `DocTypeTree` representing an HTML DocType declaration.
  `END_ELEMENT`
  Used for instances of `EndElementTree` representing the end of an HTML element.
  `ENTITY`
  Used for instances of `EntityTree` representing an HTML entity.
  `ERRONEOUS`
  Used for instances of `ErroneousTree` representing some invalid text.
  `ESCAPE`
  Used for instances of `EscapeTree` representing some escaped documentation text.
  `EXCEPTION`
  Used for instances of `ThrowsTree` representing an `@exception` tag.
  `HIDDEN`
  Used for instances of `HiddenTree` representing an `@hidden` tag.
  `IDENTIFIER`
  Used for instances of `IdentifierTree` representing an identifier.
  `INDEX`
  Used for instances of `IndexTree` representing an `@index` tag.
  `INHERIT_DOC`
  Used for instances of `InheritDocTree` representing an `@inheritDoc` tag.
  `LINK`
  Used for instances of `LinkTree` representing an `@link` tag.
  `LINK_PLAIN`
  Used for instances of `LinkTree` representing an `@linkplain` tag.
  `LITERAL`
  Used for instances of `LiteralTree` representing an `@literal` tag.
  `MARKDOWN`
  Used for instances of `RawTextTree` representing a fragment of Markdown content.
  `OTHER`
  An implementation-reserved node.
  `PARAM`
  Used for instances of `ParamTree` representing an `@param` tag.
  `PROVIDES`
  Used for instances of `ProvidesTree` representing an `@provides` tag.
  `REFERENCE`
  Used for instances of `ReferenceTree` representing a reference to an element in the Java programming language.
  `RETURN`
  Used for instances of `ReturnTree` representing an `@return` tag.
  `SEE`
  Used for instances of `SeeTree` representing an `@see` tag.
  `SERIAL`
  Used for instances of `SerialTree` representing an `@serial` tag.
  `SERIAL_DATA`
  Used for instances of `SerialDataTree` representing an `@serialData` tag.
  `SERIAL_FIELD`
  Used for instances of `SerialFieldTree` representing an `@serialField` tag.
  `SINCE`
  Used for instances of `SinceTree` representing an `@since` tag.
  `SNIPPET`
  Used for instances of `SnippetTree` representing an `@snippet` tag.
  `SPEC`
  Used for instances of `SpecTree` representing an `@spec` tag.
  `START_ELEMENT`
  Used for instances of `StartElementTree` representing the start of an HTML element.
  `SUMMARY`
  Used for instances of `SummaryTree` representing an `@summary` tag.
  `SYSTEM_PROPERTY`
  Used for instances of `SystemPropertyTree` representing an `@systemProperty` tag.
  `TEXT`
  Used for instances of `TextTree` representing some plain documentation text.
  `THROWS`
  Used for instances of `ThrowsTree` representing an `@throws` tag.
  `UNKNOWN_BLOCK_TAG`
  Used for instances of `UnknownBlockTagTree` representing an unknown block tag.
  `UNKNOWN_INLINE_TAG`
  Used for instances of `UnknownInlineTagTree` representing an unknown inline tag.
  `USES`
  Used for instances of `UsesTree` representing an `@uses` tag.
  `VALUE`
  Used for instances of `ValueTree` representing an `@value` tag.
  `VERSION`
  Used for instances of `VersionTree` representing an `@version` tag.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `final String`
  `tagName`
  The name of the tag, if any, associated with this kind of node.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static DocTree.Kind`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static DocTree.Kind[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods declared in class Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`
  Modifier and Type
  Method
  Description
  `protected final Object`
  `clone()`
  Throws CloneNotSupportedException.
  `final int`
  `compareTo(DocTree.Kind o)`
  Compares this enum with the specified object for order.
  `final Optional<Enum.EnumDesc<DocTree.Kind>>`
  `describeConstable()`
  Returns an enum descriptor `EnumDesc` for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  `final boolean`
  `equals(Object other)`
  Returns true if the specified object is equal to this enum constant.
  `protected final void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization has been deprecated for removal.
  `final Class<DocTree.Kind>`
  `getDeclaringClass()`
  Returns the Class object corresponding to this enum constant's enum type.
  `final int`
  `hashCode()`
  Returns a hash code for this enum constant.
  `final String`
  `name()`
  Returns the name of this enum constant, exactly as declared in its enum declaration.
  `final int`
  `ordinal()`
  Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
  `String`
  `toString()`
  Returns the name of this enum constant, as contained in the declaration.
  `static <T extends Enum<T>>
  T`
  `valueOf(Class<T> enumClass, String name)`
  Returns the enum constant of the specified enum class with the specified name.

  ### Methods declared in class Object

  `getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Enum Constant Details

  - ### ATTRIBUTE

    public static final DocTree.Kind ATTRIBUTE
    Used for instances of `AttributeTree` representing an attribute in an HTML element or tag.

  - ### AUTHOR

    public static final DocTree.Kind AUTHOR
    Used for instances of `AuthorTree` representing an `@author` tag.

  - ### CODE

    public static final DocTree.Kind CODE
    Used for instances of `LiteralTree` representing an `@code` tag.

  - ### COMMENT

    public static final DocTree.Kind COMMENT
    Used for instances of `CommentTree` representing an HTML comment.

  - ### DEPRECATED

    public static final DocTree.Kind DEPRECATED
    Used for instances of `DeprecatedTree` representing an `@deprecated` tag.

  - ### DOC_COMMENT

    public static final DocTree.Kind DOC_COMMENT
    Used for instances of `DocCommentTree` representing a complete doc comment.

  - ### DOC_ROOT

    public static final DocTree.Kind DOC_ROOT
    Used for instances of `DocRootTree` representing an `@docRoot` tag.

  - ### DOC_TYPE

    public static final DocTree.Kind DOC_TYPE
    Used for instances of `DocTypeTree` representing an HTML DocType declaration.
    Since:
      10

  - ### END_ELEMENT

    public static final DocTree.Kind END_ELEMENT
    Used for instances of `EndElementTree` representing the end of an HTML element.

  - ### ENTITY

    public static final DocTree.Kind ENTITY
    Used for instances of `EntityTree` representing an HTML entity.

  - ### ERRONEOUS

    public static final DocTree.Kind ERRONEOUS
    Used for instances of `ErroneousTree` representing some invalid text.

  - ### ESCAPE

    public static final DocTree.Kind ESCAPE
    Used for instances of `EscapeTree` representing some escaped documentation text.
    Since:
      21

  - ### EXCEPTION

    public static final DocTree.Kind EXCEPTION
    Used for instances of `ThrowsTree` representing an `@exception` tag.

  - ### HIDDEN

    public static final DocTree.Kind HIDDEN
    Used for instances of `HiddenTree` representing an `@hidden` tag.

  - ### IDENTIFIER

    public static final DocTree.Kind IDENTIFIER
    Used for instances of `IdentifierTree` representing an identifier.

  - ### INDEX

    public static final DocTree.Kind INDEX
    Used for instances of `IndexTree` representing an `@index` tag.
    Since:
      9

  - ### INHERIT_DOC

    public static final DocTree.Kind INHERIT_DOC
    Used for instances of `InheritDocTree` representing an `@inheritDoc` tag.

  - ### LINK

    public static final DocTree.Kind LINK
    Used for instances of `LinkTree` representing an `@link` tag.

  - ### LINK_PLAIN

    public static final DocTree.Kind LINK_PLAIN
    Used for instances of `LinkTree` representing an `@linkplain` tag.

  - ### LITERAL

    public static final DocTree.Kind LITERAL
    Used for instances of `LiteralTree` representing an `@literal` tag.

  - ### MARKDOWN

    public static final DocTree.Kind MARKDOWN
    Used for instances of `RawTextTree` representing a fragment of Markdown content.
    Since:
      23

  - ### PARAM

    public static final DocTree.Kind PARAM
    Used for instances of `ParamTree` representing an `@param` tag.

  - ### PROVIDES

    public static final DocTree.Kind PROVIDES
    Used for instances of `ProvidesTree` representing an `@provides` tag.
    Since:
      9

  - ### REFERENCE

    public static final DocTree.Kind REFERENCE
    Used for instances of `ReferenceTree` representing a reference to an element in the Java programming language.

  - ### RETURN

    public static final DocTree.Kind RETURN
    Used for instances of `ReturnTree` representing an `@return` tag.

  - ### SEE

    public static final DocTree.Kind SEE
    Used for instances of `SeeTree` representing an `@see` tag.

  - ### SERIAL

    public static final DocTree.Kind SERIAL
    Used for instances of `SerialTree` representing an `@serial` tag.

  - ### SERIAL_DATA

    public static final DocTree.Kind SERIAL_DATA
    Used for instances of `SerialDataTree` representing an `@serialData` tag.

  - ### SERIAL_FIELD

    public static final DocTree.Kind SERIAL_FIELD
    Used for instances of `SerialFieldTree` representing an `@serialField` tag.

  - ### SINCE

    public static final DocTree.Kind SINCE
    Used for instances of `SinceTree` representing an `@since` tag.

  - ### SNIPPET

    public static final DocTree.Kind SNIPPET
    Used for instances of `SnippetTree` representing an `@snippet` tag.
    Since:
      18

  - ### SPEC

    public static final DocTree.Kind SPEC
    Used for instances of `SpecTree` representing an `@spec` tag.
    Since:
      20

  - ### START_ELEMENT

    public static final DocTree.Kind START_ELEMENT
    Used for instances of `StartElementTree` representing the start of an HTML element.

  - ### SYSTEM_PROPERTY

    public static final DocTree.Kind SYSTEM_PROPERTY
    Used for instances of `SystemPropertyTree` representing an `@systemProperty` tag.
    Since:
      12

  - ### SUMMARY

    public static final DocTree.Kind SUMMARY
    Used for instances of `SummaryTree` representing an `@summary` tag.
    Since:
      10

  - ### TEXT

    public static final DocTree.Kind TEXT
    Used for instances of `TextTree` representing some plain documentation text.

  - ### THROWS

    public static final DocTree.Kind THROWS
    Used for instances of `ThrowsTree` representing an `@throws` tag.

  - ### UNKNOWN_BLOCK_TAG

    public static final DocTree.Kind UNKNOWN_BLOCK_TAG
    Used for instances of `UnknownBlockTagTree` representing an unknown block tag.

  - ### UNKNOWN_INLINE_TAG

    public static final DocTree.Kind UNKNOWN_INLINE_TAG
    Used for instances of `UnknownInlineTagTree` representing an unknown inline tag.

  - ### USES

    public static final DocTree.Kind USES
    Used for instances of `UsesTree` representing an `@uses` tag.
    Since:
      9

  - ### VALUE

    public static final DocTree.Kind VALUE
    Used for instances of `ValueTree` representing an `@value` tag.

  - ### VERSION

    public static final DocTree.Kind VERSION
    Used for instances of `VersionTree` representing an `@version` tag.

  - ### OTHER

    public static final DocTree.Kind OTHER
    An implementation-reserved node. This is not the node you are looking for.

- ## Field Details

  - ### tagName

    public final String tagName
    The name of the tag, if any, associated with this kind of node.

- ## Method Details

  - ### values

    public static DocTree.Kind[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static DocTree.Kind valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null