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.
CLIENT_WINDOW_MODE_PARAM_NAME
Constructor and Description |
---|
ClientWindowWrapper()
Deprecated.
Use the other constructor taking the implementation being wrapped.
|
ClientWindowWrapper(ClientWindow wrapped)
If this client window has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor. |
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 |
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. |
java.lang.String |
getId()
Return a String value that uniquely
identifies this |
java.util.Map<java.lang.String,java.lang.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. |
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. |
@Deprecated public 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.
wrapped
- The implementation being wrapped.public ClientWindow getWrapped()
FacesWrapper
A class that implements this interface uses this method to return an instance of the class being wrapped.
getWrapped
in interface FacesWrapper<ClientWindow>
public java.lang.String getId()
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.
getId
in class ClientWindow
ClientWindow
public java.util.Map<java.lang.String,java.lang.String> getQueryURLParameters(FacesContext context)
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.
getQueryURLParameters
in class ClientWindow
context
- the FacesContext
for this request.null
or a map of parameters to insert into the URL query string.public void disableClientWindowRenderMode(FacesContext context)
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.
disableClientWindowRenderMode
in class ClientWindow
context
- the FacesContext
for this request.public void enableClientWindowRenderMode(FacesContext context)
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.
enableClientWindowRenderMode
in class ClientWindow
context
- the FacesContext
for this request.public boolean isClientWindowRenderModeEnabled(FacesContext context)
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.
isClientWindowRenderModeEnabled
in class ClientWindow
context
- the FacesContext
for this request.public void decode(FacesContext context)
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()
.
decode
in class ClientWindow
context
- the FacesContext
for this request.