# Enum Class LifecycleState

java.lang.Object
java.lang.Enum<LifecycleState>
org.apache.catalina.LifecycleState

All Implemented Interfaces:
  `Serializable, Comparable<LifecycleState>, Constable`

public enum LifecycleState extends Enum<LifecycleState>
The list of valid states for components that implement `Lifecycle`. See `Lifecycle` for the state transition diagram.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Enum

  `Enum.EnumDesc<E>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `DESTROYED`
  Component has been destroyed.
  `DESTROYING`
  Component is being destroyed.
  `FAILED`
  Component has failed.
  `INITIALIZED`
  Component has been initialized.
  `INITIALIZING`
  Component is being initialized.
  `NEW`
  New component, not yet initialized.
  `STARTED`
  Component has started.
  `STARTING`
  Component is starting.
  `STARTING_PREP`
  Component is preparing to start.
  `STOPPED`
  Component has stopped.
  `STOPPING`
  Component is stopping.
  `STOPPING_PREP`
  Component is preparing to stop.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getLifecycleEvent()`
  Returns the lifecycle event associated with this state.
  `boolean`
  `isAvailable()`
  May the public methods other than property getters/setters and lifecycle methods be called for a component in this state?
  `static LifecycleState`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static LifecycleState[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class Enum

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

  ### Methods inherited from class Object

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

- ## Enum Constant Details

  - ### NEW

    public static final LifecycleState NEW
    New component, not yet initialized.

  - ### INITIALIZING

    public static final LifecycleState INITIALIZING
    Component is being initialized.

  - ### INITIALIZED

    public static final LifecycleState INITIALIZED
    Component has been initialized.

  - ### STARTING_PREP

    public static final LifecycleState STARTING_PREP
    Component is preparing to start.

  - ### STARTING

    public static final LifecycleState STARTING
    Component is starting.

  - ### STARTED

    public static final LifecycleState STARTED
    Component has started.

  - ### STOPPING_PREP

    public static final LifecycleState STOPPING_PREP
    Component is preparing to stop.

  - ### STOPPING

    public static final LifecycleState STOPPING
    Component is stopping.

  - ### STOPPED

    public static final LifecycleState STOPPED
    Component has stopped.

  - ### DESTROYING

    public static final LifecycleState DESTROYING
    Component is being destroyed.

  - ### DESTROYED

    public static final LifecycleState DESTROYED
    Component has been destroyed.

  - ### FAILED

    public static final LifecycleState FAILED
    Component has failed.

- ## Method Details

  - ### values

    public static LifecycleState[] 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 LifecycleState 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

  - ### isAvailable

    public boolean isAvailable()
    May the public methods other than property getters/setters and lifecycle methods be called for a component in this state? It returns `true` for any component in any of the following states:
    - `STARTING`
    - `STARTED`
    - `STOPPING_PREP`
    Returns:
      `true` if the component is available for use, otherwise `false`

  - ### getLifecycleEvent

    public String getLifecycleEvent()
    Returns the lifecycle event associated with this state.
    Returns:
      the lifecycle event, or `null`