Class ClientWindowWrapper

java.lang.Object
jakarta.faces.lifecycle.ClientWindow
jakarta.faces.lifecycle.ClientWindowWrapper
All Implemented Interfaces:
FacesWrapper<ClientWindow>

public abstract class ClientWindowWrapper extends ClientWindow implements FacesWrapper<ClientWindow>

Wrapper for ClientWindow

Usage: extend this class and push the implementation being wrapped to the constructor and use getWrapped() to access the instance being wrapped.

Since:
2.2
  • Constructor Details

    • ClientWindowWrapper

      @Deprecated public ClientWindowWrapper()
      Deprecated.
      Use the other constructor taking the implementation being wrapped.
    • ClientWindowWrapper

      public ClientWindowWrapper(ClientWindow wrapped)

      If this client window has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor. The getWrapped() will then return the implementation being wrapped.

      Parameters:
      wrapped - The implementation being wrapped.
      Since:
      2.3
  • Method Details

    • getWrapped

      public 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>
      Returns:
      the wrapped instance.
    • 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(jakarta.faces.context.FacesContext) for the specification of how to derive this value.

      Specified by:
      getId in class ClientWindow
      Returns:
      the id of the 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(jakarta.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.
      Returns:
      the result as specified above
    • 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.