javax.faces.lifecycle
Class ClientWindowWrapper

java.lang.Object
  extended by javax.faces.lifecycle.ClientWindow
      extended by 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
ClientWindowWrapper()
           
 
Method Summary
 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.


Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms