Class Lifecycle

  • Direct Known Subclasses:
    LifecycleWrapper


    public abstract class Lifecycle
    extends java.lang.Object

    Lifecycle manages the processing of the entire lifecycle of a particular JavaServer Faces request. It is responsible for executing all of the phases that have been defined by the JavaServer 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

      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 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 ClientWindow to be used to display the UIViewRoot 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 the JavaServer Faces Specification, 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Lifecycle

        public Lifecycle​()
    • 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 - The PhaseListener to be registered
        Throws:
        java.lang.NullPointerException - if listener is null
      • 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 the JavaServer 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.

        Parameters:
        context - FacesContext for the request to be processed
        Throws:
        FacesException - if thrown during the execution of the request processing lifecycle
        java.lang.NullPointerException - if context is null
      • getPhaseListeners

        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.

        Returns:
        the set of registered PhaseListeners
      • 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 - The PhaseListener to be deregistered
        Throws:
        java.lang.NullPointerException - if listener is null
      • 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 the FacesContext 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 lifecycle
        java.lang.NullPointerException - if context is null