Class Lifecycle
- java.lang.Object
-
- jakarta.faces.lifecycle.Lifecycle
-
- Direct Known Subclasses:
LifecycleWrapper
public abstract class Lifecycle extends Object
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 thegetLifecycle()
method ofLifecycleFactory
, 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
Constructors Constructor Description Lifecycle()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract 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[]
getPhaseListeners()
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.
-
-
-
Method Detail
-
addPhaseListener
public abstract void addPhaseListener(PhaseListener listener)
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
public abstract void execute(FacesContext context) throws FacesException
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
public void attachWindow(FacesContext context)
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
public abstract PhaseListener[] 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
public abstract void removePhaseListener(PhaseListener listener)
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
public abstract void render(FacesContext context) throws FacesException
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
-
-