javax.faces.lifecycle

## Class LifecycleWrapper

- java.lang.Object
- - javax.faces.lifecycle.Lifecycle
  - - javax.faces.lifecycle.LifecycleWrapper

- All Implemented Interfaces:
    FacesWrapper<Lifecycle>

      public abstract class LifecycleWrapper
      extends Lifecycle
      implements FacesWrapper<Lifecycle>

  Provides a simple implementation of `Lifecycle` that can be subclassed by developers wishing to provide specialized behavior to an existing `Lifecycle` instance. The default implementation of all methods is to call through to the wrapped `Lifecycle`.

  Usage: extend this class and override getWrapped() to return the instance we are wrapping.

  Since:
    2.2

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LifecycleWrapper()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `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.
    `PhaseListener[]` | `getPhaseListeners()` Return the set of registered `PhaseListener`s for this `Lifecycle` instance.
    `abstract Lifecycle` | `getWrapped()` A class that implements this interface uses this method to return an instance of the class being wrapped.
    `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.
    `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

    - #### LifecycleWrapper

          public LifecycleWrapper()

  - ### Method Detail

    - #### getWrapped

          public abstract Lifecycle getWrapped()

      Description copied from interface: `FacesWrapper`

      A class that implements this interface uses this method to return an instance of the class being wrapped.

      Specified by:
        `getWrapped` in interface `FacesWrapper<Lifecycle>`

    - #### addPhaseListener

          public void addPhaseListener(PhaseListener listener)

      Description copied from class: `Lifecycle`

      Register a new `PhaseListener` instance that is interested in being notified before and after the processing for standard phases of the request processing lifecycle.

      Specified by:
        `addPhaseListener` in class `Lifecycle`
      Parameters:
        `listener` - The `PhaseListener` to be registered

    - #### execute

          public void execute(FacesContext context)
                       throws FacesException

      Description copied from class: `Lifecycle`

      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.

      Specified by:
        `execute` in class `Lifecycle`
      Parameters:
        `context` - FacesContext for the request to be processed
      Throws:
        `FacesException` - if thrown during the execution of the request processing lifecycle

    - #### getPhaseListeners

          public PhaseListener[] getPhaseListeners()

      Description copied from class: `Lifecycle`

      Return the set of registered `PhaseListener`s for this `Lifecycle` instance. If there are no registered listeners, a zero-length array is returned.

      Specified by:
        `getPhaseListeners` in class `Lifecycle`

    - #### removePhaseListener

          public void removePhaseListener(PhaseListener listener)

      Description copied from class: `Lifecycle`

      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.

      Specified by:
        `removePhaseListener` in class `Lifecycle`
      Parameters:
        `listener` - The `PhaseListener` to be deregistered

    - #### render

          public void render(FacesContext context)
                      throws FacesException

      Description copied from class: `Lifecycle`

      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.

      Specified by:
        `render` in class `Lifecycle`
      Parameters:
        `context` - FacesContext for the request being processed
      Throws:
        `FacesException` - if an exception is thrown during the execution of the request processing lifecycle

    - #### attachWindow

          public void attachWindow(FacesContext context)

      Description copied from class: `Lifecycle`

      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)`.

      Overrides:
        `attachWindow` in class `Lifecycle`

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.