public abstract class Lifecycle
extends java.lang.Object
Lifecycle manages the processing of the entire lifecycle of a particular Jakarta Server Faces request. It is responsible for executing all of the phases that have been defined by the Jakarta Server 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 and Description |
---|
Lifecycle() |
Modifier and Type | Method and Description |
---|---|
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. |
void |
attachWindow(FacesContext context)
Create or restore the |
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 the Jakarta Server Faces Specification, in the specified
order.
|
abstract PhaseListener[] |
getPhaseListeners()
Return the set of registered
PhaseListener s for this
Lifecycle instance. |
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. |
abstract void |
render(FacesContext context)
Execute the Render Response phase of the request
processing lifecycle, unless the
responseComplete()
method has been called on the FacesContext instance
associated with the current request. |
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.
listener
- The PhaseListener
to be registeredjava.lang.NullPointerException
- if listener
is null
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 the Jakarta Server Faces Specification, in the specified
order. The processing flow can be affected (by the application,
by components, or by event listeners) by calls to the
renderResponse()
or responseComplete()
methods of the FacesContext
instance associated with
the current request.
context
- FacesContext for the request to be processedFacesException
- if thrown during the execution of the
request processing lifecyclejava.lang.NullPointerException
- if context
is null
public void attachWindow(FacesContext context)
Create or restore the ClientWindow
to be used to display the UIViewRoot
for this run through the
lifecycle. See the class documentation for ClientWindow
for an overview of the feature.
If ExternalContext.getClientWindow()
returns
null, create a new instance of ClientWindow
using the
ClientWindowFactory
. If the result is non-null, call
ClientWindow.decode(javax.faces.context.FacesContext)
on it.
Store the new ClientWindow
by calling
ExternalContext.setClientWindow(javax.faces.lifecycle.ClientWindow)
.
context
- the FacesContext
for this request.public abstract PhaseListener[] getPhaseListeners()
Return the set of registered PhaseListener
s for this
Lifecycle
instance. If there are no registered listeners,
a zero-length array is returned.
PhaseListener
spublic 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.
listener
- The PhaseListener
to be deregisteredjava.lang.NullPointerException
- if listener
is null
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 the FacesContext
instance
associated with the current request.
context
- FacesContext for the request being processedFacesException
- if an exception is thrown during the execution
of the request processing lifecyclejava.lang.NullPointerException
- if context
is null