Class Lifecycle
- Direct Known Subclasses:
LifecycleImpl
,LifecycleWrapper
Lifecycle manages the processing of the entire lifecycle of a particular Jakarta Faces request. It is responsible for executing all of the phases that have been defined by the Jakarta Faces Specification, in the specified order, unless otherwise directed by activities that occurred during the execution of each phase.
An instance of Lifecycle
is created by calling the getLifecycle()
method of
LifecycleFactory
, for a specified lifecycle identifier. Because this instance is shared across multiple
simultaneous requests, it must be implemented in a thread-safe manner.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
addPhaseListener
(PhaseListener listener) Register a newPhaseListener
instance that is interested in being notified before and after the processing for standard phases of the request processing lifecycle.void
attachWindow
(FacesContext context) Create or restore theClientWindow
to be used to display theUIViewRoot
for this run through the lifecycle.abstract void
execute
(FacesContext context) Execute all of the phases of the request processing lifecycle, up to but not including the Render Response phase, as described in section 2 "Request Processing Lifecycle" of the Jakarta Faces Specification Document, in the specified order.abstract PhaseListener[]
Return the set of registeredPhaseListener
s for thisLifecycle
instance.abstract void
removePhaseListener
(PhaseListener listener) Deregister an existingPhaseListener
instance that is no longer interested in being notified before and after the processing for standard phases of the request processing lifecycle.abstract void
render
(FacesContext context) Execute the Render Response phase of the request processing lifecycle, unless theresponseComplete()
method has been called on theFacesContext
instance associated with the current request.
-
Constructor Details
-
Lifecycle
public Lifecycle()
-
-
Method Details
-
addPhaseListener
Register a new
PhaseListener
instance that is interested in being notified before and after the processing for standard phases of the request processing lifecycle.- Parameters:
listener
- ThePhaseListener
to be registered- Throws:
NullPointerException
- iflistener
isnull
-
execute
Execute all of the phases of the request processing lifecycle, up to but not including the Render Response phase, as described in section 2 "Request Processing Lifecycle" of the Jakarta Faces Specification Document, in the specified order. The processing flow can be affected (by the application, by components, or by event listeners) by calls to the
renderResponse()
orresponseComplete()
methods of theFacesContext
instance associated with the current request.- Parameters:
context
- FacesContext for the request to be processed- Throws:
FacesException
- if thrown during the execution of the request processing lifecycleNullPointerException
- ifcontext
isnull
-
attachWindow
Create or restore the
ClientWindow
to be used to display theUIViewRoot
for this run through the lifecycle. See the class documentation forClientWindow
for an overview of the feature. IfExternalContext.getClientWindow()
returns null, create a new instance ofClientWindow
using theClientWindowFactory
. If the result is non-null, callClientWindow.decode(jakarta.faces.context.FacesContext)
on it. Store the newClientWindow
by callingExternalContext.setClientWindow(jakarta.faces.lifecycle.ClientWindow)
.- Parameters:
context
- theFacesContext
for this request.- Since:
- 2.2
-
getPhaseListeners
Return the set of registered
PhaseListener
s for thisLifecycle
instance. If there are no registered listeners, a zero-length array is returned.- Returns:
- the set of registered
PhaseListener
s
-
removePhaseListener
Deregister an existing
PhaseListener
instance that is no longer interested in being notified before and after the processing for standard phases of the request processing lifecycle. If no such listener instance has been registered, no action is taken.- Parameters:
listener
- ThePhaseListener
to be deregistered- Throws:
NullPointerException
- iflistener
isnull
-
render
Execute the Render Response phase of the request processing lifecycle, unless the
responseComplete()
method has been called on theFacesContext
instance associated with the current request.- Parameters:
context
- FacesContext for the request being processed- Throws:
FacesException
- if an exception is thrown during the execution of the request processing lifecycleNullPointerException
- ifcontext
isnull
-