javax.faces.lifecycle

## Class LifecycleFactory

- java.lang.Object
- - javax.faces.lifecycle.LifecycleFactory

- All Implemented Interfaces:
    FacesWrapper<LifecycleFactory>

      public abstract class LifecycleFactory
      extends Object
      implements FacesWrapper<LifecycleFactory>

  LifecycleFactory is a factory object that creates (if needed) and returns `Lifecycle` instances. Implementations of JavaServer Faces must provide at least a default implementation of `Lifecycle`. Advanced implementations (or external third party libraries) MAY provide additional `Lifecycle` implementations (keyed by lifecycle identifiers) for performing different types of request processing on a per-request basis.

  There must be one `LifecycleFactory` instance per web application that is utilizing JavaServer Faces. This instance can be acquired, in a portable manner, by calling:

         LifecycleFactory factory = (LifecycleFactory)
          FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_LIFECYCLE` The lifecycle identifier for the default `Lifecycle` instance for this JavaServer Faces implementation.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LifecycleFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `addLifecycle(String lifecycleId, Lifecycle lifecycle)` Register a new `Lifecycle` instance, associated with the specified `lifecycleId`, to be supported by this `LifecycleFactory`.
    `abstract Lifecycle` | `getLifecycle(String lifecycleId)` Create (if needed) and return a `Lifecycle` instance for the specified lifecycle identifier.
    `abstract Iterator<String>` | `getLifecycleIds()` Return an `Iterator` over the set of lifecycle identifiers supported by this factory.
    `LifecycleFactory` | `getWrapped()` If this factory has been decorated, the implementation doing the decorating may override this method to provide access to the implementation being wrapped.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_LIFECYCLE

          public static final String DEFAULT_LIFECYCLE

      The lifecycle identifier for the default `Lifecycle` instance for this JavaServer Faces implementation.

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### LifecycleFactory

          public LifecycleFactory()

  - ### Method Detail

    - #### getWrapped

          public LifecycleFactory getWrapped()

      If this factory has been decorated, the implementation doing the decorating may override this method to provide access to the implementation being wrapped. A default implementation is provided that returns `null`.

      Specified by:
        `getWrapped` in interface `FacesWrapper<LifecycleFactory>`
      Since:
        2.0

    - #### addLifecycle

          public abstract void addLifecycle(String lifecycleId,
                          Lifecycle lifecycle)

      Register a new `Lifecycle` instance, associated with the specified `lifecycleId`, to be supported by this `LifecycleFactory`. This method may be called at any time, and makes the corresponding `Lifecycle` instance available throughout the remaining lifetime of this web application.

      Parameters:
        `lifecycleId` - Identifier of the new `Lifecycle`
        `lifecycle` - `Lifecycle` instance that we are registering
      Throws:
        `IllegalArgumentException` - if a `Lifecycle` with the specified `lifecycleId` has already been registered
        `NullPointerException` - if `lifecycleId` or `lifecycle` is `null`

    - #### getLifecycle

          public abstract Lifecycle getLifecycle(String lifecycleId)

      Create (if needed) and return a `Lifecycle` instance for the specified lifecycle identifier. The set of available lifecycle identifiers is available via the `getLifecycleIds()` method.

      Each call to `getLifecycle()` for the same `lifecycleId`, from within the same web application, must return the same `Lifecycle` instance.

      Parameters:
        `lifecycleId` - Lifecycle identifier of the requested `Lifecycle` instance
      Throws:
        `IllegalArgumentException` - if no `Lifecycle` instance can be returned for the specified identifier
        `NullPointerException` - if `lifecycleId` is `null`

    - #### getLifecycleIds

          public abstract Iterator<String> getLifecycleIds()

      Return an `Iterator` over the set of lifecycle identifiers supported by this factory. This set must include the value specified by `LifecycleFactory.DEFAULT_LIFECYCLE`.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.