javax.faces.lifecycle
Class LifecycleFactory

java.lang.Object
  extended by 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
static String DEFAULT_LIFECYCLE
          The lifecycle identifier for the default Lifecycle instance for this JavaServer Faces implementation.
 
Constructor Summary
LifecycleFactory()
           
 
Method Summary
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 2002-2009 Sun Microsystems, Inc. All Rights Reserved.