1 package com.atlassian.johnson.spring.lifecycle;
2
3 /**
4 * Enumerates certain <i>key</i> lifecycle states. An application may have many more fine-grained states than this
5 * limited set. These states are enumerated here specifically because they are relevant to Johnson's components.
6 *
7 * @since 3.0
8 */
9 public enum LifecycleState {
10
11 /**
12 * The application has been created but has not attempted to {@link #STARTING start}. This is a placeholder
13 * state used when no explicit state has been set.
14 */
15 CREATED,
16 /**
17 * An attempt to {@link #STARTING start} the application failed. Application components like filters and servlets
18 * will likely never be available.
19 */
20 FAILED,
21 /**
22 * The application has started successfully. All expected components like filters and servlets should be available.
23 */
24 STARTED,
25 /**
26 * The application is starting. Components may progressively become available during this state, but delegating
27 * placeholders (like {@link LifecycleDelegatingFilterProxy filter proxies}) should not attempt to bind to them
28 * yet.
29 */
30 STARTING
31 }