Module java.compiler
Package javax.lang.model.element

## Enum ElementKind

- java.lang.Object
- - java.lang.Enum<ElementKind>
  - - javax.lang.model.element.ElementKind

All Implemented Interfaces:
  Serializable, Comparable<ElementKind>

    public enum ElementKind
    extends Enum<ElementKind>

The `kind` of an element.

Note that it is possible additional element kinds will be added to accommodate new, currently unknown, language structures added to future versions of the Java™ programming language.

Since:
  1.6
See Also:
  `Element`

### Enum Constant Summary

Enum Constants
Enum Constant and Description
`ANNOTATION_TYPE` An annotation type.
`CLASS` A class not described by a more specific kind (like `ENUM`).
`CONSTRUCTOR` A constructor.
`ENUM` An enum type.
`ENUM_CONSTANT` An enum constant.
`EXCEPTION_PARAMETER` A parameter of an exception handler.
`FIELD` A field not described by a more specific kind (like `ENUM_CONSTANT`).
`INSTANCE_INIT` An instance initializer.
`INTERFACE` An interface not described by a more specific kind (like `ANNOTATION_TYPE`).
`LOCAL_VARIABLE` A local variable.
`METHOD` A method.
`MODULE` A module.
`OTHER` An implementation-reserved element.
`PACKAGE` A package.
`PARAMETER` A parameter of a method or constructor.
`RESOURCE_VARIABLE` A resource variable.
`STATIC_INIT` A static initializer.
`TYPE_PARAMETER` A type parameter.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `isClass()` Returns `true` if this is a kind of class: either `CLASS` or `ENUM`.
`boolean` `isField()` Returns `true` if this is a kind of field: either `FIELD` or `ENUM_CONSTANT`.
`boolean` `isInterface()` Returns `true` if this is a kind of interface: either `INTERFACE` or `ANNOTATION_TYPE`.
`static ElementKind` `valueOf(String name)` Returns the enum constant of this type with the specified name.
`static ElementKind[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

### Methods inherited from class java.lang.Enum

`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Enum Constant Detail

#### ANNOTATION_TYPE

    public static final ElementKind ANNOTATION_TYPE

An annotation type.

#### CLASS

    public static final ElementKind CLASS

A class not described by a more specific kind (like `ENUM`).

#### CONSTRUCTOR

    public static final ElementKind CONSTRUCTOR

A constructor.

#### ENUM

    public static final ElementKind ENUM

An enum type.

#### ENUM_CONSTANT

    public static final ElementKind ENUM_CONSTANT

An enum constant.

#### EXCEPTION_PARAMETER

    public static final ElementKind EXCEPTION_PARAMETER

A parameter of an exception handler.

#### FIELD

    public static final ElementKind FIELD

A field not described by a more specific kind (like `ENUM_CONSTANT`).

#### INSTANCE_INIT

    public static final ElementKind INSTANCE_INIT

An instance initializer.

#### INTERFACE

    public static final ElementKind INTERFACE

An interface not described by a more specific kind (like `ANNOTATION_TYPE`).

#### LOCAL_VARIABLE

    public static final ElementKind LOCAL_VARIABLE

A local variable.

#### METHOD

    public static final ElementKind METHOD

A method.

#### MODULE

    public static final ElementKind MODULE

A module.

Since:
  9

#### OTHER

    public static final ElementKind OTHER

An implementation-reserved element. This is not the element you are looking for.

#### PACKAGE

    public static final ElementKind PACKAGE

A package.

#### PARAMETER

    public static final ElementKind PARAMETER

A parameter of a method or constructor.

#### RESOURCE_VARIABLE

    public static final ElementKind RESOURCE_VARIABLE

A resource variable.

Since:
  1.7

#### STATIC_INIT

    public static final ElementKind STATIC_INIT

A static initializer.

#### TYPE_PARAMETER

    public static final ElementKind TYPE_PARAMETER

A type parameter.

### Method Detail

#### values

    public static ElementKind[] 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 (ElementKind c : ElementKind.values())
        System.out.println(c);

Returns:
  an array containing the constants of this enum type, in the order they are declared

#### valueOf

    public static ElementKind valueOf(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:
  `IllegalArgumentException` - if this enum type has no constant with the specified name
  `NullPointerException` - if the argument is null

#### isClass

    public boolean isClass()

Returns `true` if this is a kind of class: either `CLASS` or `ENUM`.

Returns:
  `true` if this is a kind of class

#### isInterface

    public boolean isInterface()

Returns `true` if this is a kind of interface: either `INTERFACE` or `ANNOTATION_TYPE`.

Returns:
  `true` if this is a kind of interface

#### isField

    public boolean isField()

Returns `true` if this is a kind of field: either `FIELD` or `ENUM_CONSTANT`.

Returns:
  `true` if this is a kind of field