Class LifecycleFactory
- All Implemented Interfaces:
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
-
Constructor Summary
ConstructorDescriptionDeprecated.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
Modifier and TypeMethodDescriptionabstract void
addLifecycle
(String lifecycleId, Lifecycle lifecycle) Register a newLifecycle
instance, associated with the specifiedlifecycleId
, to be supported by thisLifecycleFactory
.abstract Lifecycle
getLifecycle
(String lifecycleId) Create (if needed) and return aLifecycle
instance for the specified lifecycle identifier.Return anIterator
over the set of lifecycle identifiers supported by this factory.If this factory has been decorated, the implementation doing the decorating may override this method to provide access to the implementation being wrapped.
-
Field Details
-
DEFAULT_LIFECYCLE
The lifecycle identifier for the default
Lifecycle
instance for this JavaServer Faces implementation.- See Also:
-
-
Constructor Details
-
LifecycleFactory
Deprecated.Use the other constructor taking the implementation being wrapped. -
LifecycleFactory
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 Details
-
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 interfaceFacesWrapper<LifecycleFactory>
- Returns:
- the wrapped instance.
- Since:
- 2.0
-
addLifecycle
Register a new
Lifecycle
instance, associated with the specifiedlifecycleId
, to be supported by thisLifecycleFactory
. This method may be called at any time, and makes the correspondingLifecycle
instance available throughout the remaining lifetime of this web application.- Parameters:
lifecycleId
- Identifier of the newLifecycle
lifecycle
-Lifecycle
instance that we are registering- Throws:
IllegalArgumentException
- if aLifecycle
with the specifiedlifecycleId
has already been registeredNullPointerException
- iflifecycleId
orlifecycle
isnull
-
getLifecycle
Create (if needed) and return a
Lifecycle
instance for the specified lifecycle identifier. The set of available lifecycle identifiers is available via thegetLifecycleIds()
method.Each call to
getLifecycle()
for the samelifecycleId
, from within the same web application, must return the sameLifecycle
instance.- Parameters:
lifecycleId
- Lifecycle identifier of the requestedLifecycle
instance- Returns:
- the
Lifecycle
instance - Throws:
IllegalArgumentException
- if noLifecycle
instance can be returned for the specified identifierNullPointerException
- iflifecycleId
isnull
-
getLifecycleIds
Return an
Iterator
over the set of lifecycle identifiers supported by this factory. This set must include the value specified byLifecycleFactory.DEFAULT_LIFECYCLE
.- Returns:
- an
Iterator
over the set of lifecycle identifiers supported by this factory
-