javax.faces.lifecycle

## Class ClientWindowWrapper

- java.lang.Object
- - javax.faces.lifecycle.ClientWindow
  - - javax.faces.lifecycle.ClientWindowWrapper

- All Implemented Interfaces:
    FacesWrapper<ClientWindow>

      public abstract class ClientWindowWrapper
      extends ClientWindow
      implements FacesWrapper<ClientWindow>

  Wrapper for `ClientWindow`

  Since:
    2.2

- - ### Field Summary

    - ### Fields inherited from class javax.faces.lifecycle.ClientWindow

      `CLIENT_WINDOW_MODE_PARAM_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ClientWindowWrapper()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `decode(FacesContext context)` The implementation is responsible for examining the incoming request and extracting the value that must be returned from the `ClientWindow.getId()` method.
    `void` | `disableClientWindowRenderMode(FacesContext context)` Components that permit per-use disabling of the appending of the ClientWindow in generated URLs must call this method first before rendering those URLs.
    `void` | `enableClientWindowRenderMode(FacesContext context)` Components that permit per-use disabling of the appending of the ClientWindow in generated URLs must call this method first after rendering those URLs.
    `String` | `getId()` Return a String value that uniquely identifies this `ClientWindow` within the scope of the current session.
    `Map<String,String>` | `getQueryURLParameters(FacesContext context)` This method will be called whenever a URL is generated by the runtime where client window related parameters need to be inserted into the URL.
    `abstract ClientWindow` | `getWrapped()` A class that implements this interface uses this method to return an instance of the class being wrapped.
    `boolean` | `isClientWindowRenderModeEnabled(FacesContext context)` Methods that append the ClientWindow to generated URLs must call this method to see if they are permitted to do so.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ClientWindowWrapper

          public ClientWindowWrapper()

  - ### Method Detail

    - #### getWrapped

          public abstract ClientWindow 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<ClientWindow>`

    - #### getId

          public String getId()

      Description copied from class: `ClientWindow`

      Return a String value that uniquely identifies this `ClientWindow` within the scope of the current session. See `ClientWindow.decode(javax.faces.context.FacesContext)` for the specification of how to derive this value.

      Specified by:
        `getId` in class `ClientWindow`

    - #### getQueryURLParameters

          public Map<String,String> getQueryURLParameters(FacesContext context)

      Description copied from class: `ClientWindow`

      This method will be called whenever a URL is generated by the runtime where client window related parameters need to be inserted into the URL. This guarantees custom `ClientWindow` implementations that they will have the opportunity to insert any additional client window specific information in any case where a URL is generated, such as the rendering of hyperlinks. The returned map must be immutable. The default implementation of this method returns the empty map.

      Specified by:
        `getQueryURLParameters` in class `ClientWindow`
      Parameters:
        `context` - the `FacesContext` for this request.
      Returns:
        `null` or a map of parameters to insert into the URL query string.

    - #### disableClientWindowRenderMode

          public void disableClientWindowRenderMode(FacesContext context)

      Description copied from class: `ClientWindow`

      Components that permit per-use disabling of the appending of the ClientWindow in generated URLs must call this method first before rendering those URLs. The caller must call `ClientWindow.enableClientWindowRenderMode(javax.faces.context.FacesContext)` from a `finally` block after rendering the URL. If `ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAME` is "url" without the quotes, all generated URLs that cause a GET request must append the ClientWindow by default. This is specified as a static method because callsites need to access it without having access to an actual `ClientWindow` instance.

      Overrides:
        `disableClientWindowRenderMode` in class `ClientWindow`
      Parameters:
        `context` - the `FacesContext` for this request.

    - #### enableClientWindowRenderMode

          public void enableClientWindowRenderMode(FacesContext context)

      Description copied from class: `ClientWindow`

      Components that permit per-use disabling of the appending of the ClientWindow in generated URLs must call this method first after rendering those URLs. If `ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAME` is "url" without the quotes, all generated URLs that cause a GET request must append the ClientWindow by default. This is specified as a static method because callsites need to access it without having access to an actual `ClientWindow` instance.

      Overrides:
        `enableClientWindowRenderMode` in class `ClientWindow`
      Parameters:
        `context` - the `FacesContext` for this request.

    - #### isClientWindowRenderModeEnabled

          public boolean isClientWindowRenderModeEnabled(FacesContext context)

      Description copied from class: `ClientWindow`

      Methods that append the ClientWindow to generated URLs must call this method to see if they are permitted to do so. If `ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAME` is "url" without the quotes, all generated URLs that cause a GET request must append the ClientWindow by default. This is specified as a static method because callsites need to access it without having access to an actual `ClientWindow` instance.

      Overrides:
        `isClientWindowRenderModeEnabled` in class `ClientWindow`
      Parameters:
        `context` - the `FacesContext` for this request.

    - #### decode

          public void decode(FacesContext context)

      Description copied from class: `ClientWindow`

      The implementation is responsible for examining the incoming request and extracting the value that must be returned from the `ClientWindow.getId()` method. If `ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAME` is "none" this method must not be invoked. If `ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAME` is "url" the implementation must first look for a request parameter under the name given by the value of `ResponseStateManager.CLIENT_WINDOW_PARAM`. If no value is found, look for a request parameter under the name given by the value of `ResponseStateManager.CLIENT_WINDOW_URL_PARAM`. If no value is found, fabricate an id that uniquely identifies this `ClientWindow` within the scope of the current session. This value must be made available to return from the `ClientWindow.getId()` method. The value must be suitable for inclusion as a hidden field or query parameter. If a value is found, decrypt it using the key from the session and make it available for return from `ClientWindow.getId()`.

      Specified by:
        `decode` in class `ClientWindow`
      Parameters:
        `context` - the `FacesContext` for this request.

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