Class LifecycleFactory

  • All Implemented Interfaces:
    FacesWrapper<LifecycleFactory>


    public abstract class LifecycleFactory
    extends java.lang.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);
     

    Usage: extend this class and push the implementation being wrapped to the constructor and use getWrapped() to access the instance being wrapped.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT_LIFECYCLE
      The lifecycle identifier for the default Lifecycle instance for this JavaServer Faces implementation.
    • Constructor Summary

      Constructors 
      Constructor Description
      LifecycleFactory​()
      Deprecated. 
      Use the other constructor taking the implementation being wrapped.
      LifecycleFactory​(LifecycleFactory wrapped)
      If this factory has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract void addLifecycle​(java.lang.String lifecycleId, Lifecycle lifecycle)
      Register a new Lifecycle instance, associated with the specified lifecycleId, to be supported by this LifecycleFactory.
      abstract Lifecycle getLifecycle​(java.lang.String lifecycleId)
      Create (if needed) and return a Lifecycle instance for the specified lifecycle identifier.
      abstract java.util.Iterator<java.lang.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 java.lang.String DEFAULT_LIFECYCLE

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

        See Also:
        Constant Field Values
    • Constructor Detail

      • LifecycleFactory

        @Deprecated
        public LifecycleFactory​()
        Deprecated. Use the other constructor taking the implementation being wrapped.
      • LifecycleFactory

        public LifecycleFactory​(LifecycleFactory wrapped)

        If this factory has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor. The getWrapped() will then return the implementation being wrapped.

        Parameters:
        wrapped - The implementation being wrapped.
    • 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.

        Specified by:
        getWrapped in interface FacesWrapper<LifecycleFactory>
        Returns:
        the wrapped instance.
        Since:
        2.0
      • addLifecycle

        public abstract void addLifecycle​(java.lang.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:
        java.lang.IllegalArgumentException - if a Lifecycle with the specified lifecycleId has already been registered
        java.lang.NullPointerException - if lifecycleId or lifecycle is null
      • getLifecycle

        public abstract Lifecycle getLifecycle​(java.lang.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
        Returns:
        the Lifecycle instance
        Throws:
        java.lang.IllegalArgumentException - if no Lifecycle instance can be returned for the specified identifier
        java.lang.NullPointerException - if lifecycleId is null
      • getLifecycleIds

        public abstract java.util.Iterator<java.lang.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.

        Returns:
        an Iterator over the set of lifecycle identifiers supported by this factory