public abstract class Lifecycle
extends java.lang.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 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 section 2 "Request Processing Lifecycle" of the Jakarta Faces Specification Document, in the specified order. 
 | 
abstract PhaseListener[] | 
getPhaseListeners()
 Return the set of registered  
PhaseListeners 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 nullpublic 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() 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 nullpublic 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(jakarta.faces.context.FacesContext) on it. Store the new ClientWindow by
 calling ExternalContext.setClientWindow(jakarta.faces.lifecycle.ClientWindow).
 
context - the FacesContext for this request.public abstract PhaseListener[] getPhaseListeners()
 Return the set of registered PhaseListeners for this Lifecycle instance. If there are no registered
 listeners, a zero-length array is returned.
 
PhaseListenerspublic 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 nullpublic 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