com.liferay.faces.bridge.context
Class ExternalContextCompatImpl

java.lang.Object
  extended by javax.faces.context.ExternalContext
      extended by com.liferay.faces.bridge.context.ExternalContextCompatImpl
Direct Known Subclasses:
ExternalContextCompat_2_2_Impl

public abstract class ExternalContextCompatImpl
extends javax.faces.context.ExternalContext

This class provides a compatibility layer that isolates differences between JSF1 and JSF2.

Author:
Neil Griffin

Field Summary
protected  BridgeContext bridgeContext
           
protected  javax.servlet.ServletResponse facesImplementationServletResponse
           
protected  IncongruityContext incongruityContext
           
protected  boolean manageIncongruities
           
protected  javax.portlet.PortletContext portletContext
           
protected  Bridge.PortletPhase portletPhase
           
protected  javax.portlet.PortletRequest portletRequest
           
protected  javax.portlet.PortletResponse portletResponse
           
protected  String requestContextPath
           
 
Fields inherited from class javax.faces.context.ExternalContext
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
ExternalContextCompatImpl(javax.portlet.PortletContext portletContext, javax.portlet.PortletRequest portletRequest, javax.portlet.PortletResponse portletResponse)
           
 
Method Summary
 void addResponseCookie(String name, String value, Map<String,Object> properties)
           
 void addResponseHeader(String name, String value)
           
protected  javax.servlet.http.HttpServletResponse createFlashHttpServletResponse()
           
 String encodeActionURL(String url)
          Note: The reason why this method appears here in ExternalContextCompatImpl is because it needs to be overridden by ExternalContextCompat_2_2_Impl since it has special requirements for JSF 2.2.
 String encodeBookmarkableURL(String baseUrl, Map<String,List<String>> parameters)
           
 String encodePartialActionURL(String url)
           
 String encodeRedirectURL(String baseUrl, Map<String,List<String>> parameters)
           
 String getContextName()
           
 javax.faces.context.Flash getFlash()
           
 String getMimeType(String fileName)
           
 String getRealPath(String path)
           
 int getRequestContentLength()
           
 String getRequestScheme()
           
 String getRequestServerName()
           
 int getRequestServerPort()
           
 int getResponseBufferSize()
           
 OutputStream getResponseOutputStream()
           
 Writer getResponseOutputWriter()
           
 int getSessionMaxInactiveInterval()
           
 void invalidateSession()
           
protected  boolean isBridgeFlashServletResponseRequired()
           
protected  boolean isEncodingFormWithPrimeFacesAjaxFileUpload()
           
protected  boolean isICEfacesLegacyMode(javax.portlet.ClientDataRequest clientDataRequest)
           
 boolean isResponseCommitted()
           
 boolean isSecure()
           
 void responseFlushBuffer()
           
 void responseReset()
           
 void responseSendError(int statusCode, String message)
          The Portlet API does not have an equivalent to HttpServletResponse.sendError(int, String).
 void setBridgeFlash(BridgeFlash bridgeFlash)
           
 void setResponseBufferSize(int size)
           
 void setResponseContentLength(int length)
           
 void setResponseContentType(String contentType)
           
 void setResponseHeader(String name, String value)
           
 void setResponseStatus(int statusCode)
          Sets the status of the portlet response to the specified status code.
 void setSessionMaxInactiveInterval(int sessionMaxInactiveInterval)
           
 
Methods inherited from class javax.faces.context.ExternalContext
dispatch, encodeNamespace, encodeResourceURL, getApplicationMap, getAuthType, getContext, getInitParameter, getInitParameterMap, getRemoteUser, getRequest, getRequestCharacterEncoding, getRequestContentType, getRequestContextPath, getRequestCookieMap, getRequestHeaderMap, getRequestHeaderValuesMap, getRequestLocale, getRequestLocales, getRequestMap, getRequestParameterMap, getRequestParameterNames, getRequestParameterValuesMap, getRequestPathInfo, getRequestServletPath, getResource, getResourceAsStream, getResourcePaths, getResponse, getResponseCharacterEncoding, getResponseContentType, getSession, getSessionMap, getUserPrincipal, isUserInRole, log, log, redirect, setRequest, setRequestCharacterEncoding, setResponse, setResponseCharacterEncoding
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bridgeContext

protected BridgeContext bridgeContext

facesImplementationServletResponse

protected javax.servlet.ServletResponse facesImplementationServletResponse

incongruityContext

protected IncongruityContext incongruityContext

manageIncongruities

protected boolean manageIncongruities

portletContext

protected javax.portlet.PortletContext portletContext

portletRequest

protected javax.portlet.PortletRequest portletRequest

portletResponse

protected javax.portlet.PortletResponse portletResponse

portletPhase

protected Bridge.PortletPhase portletPhase

requestContextPath

protected String requestContextPath
Constructor Detail

ExternalContextCompatImpl

public ExternalContextCompatImpl(javax.portlet.PortletContext portletContext,
                                 javax.portlet.PortletRequest portletRequest,
                                 javax.portlet.PortletResponse portletResponse)
Method Detail

addResponseCookie

public void addResponseCookie(String name,
                              String value,
                              Map<String,Object> properties)
Overrides:
addResponseCookie in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#addResponseCookie(String, String, Map)}

addResponseHeader

public void addResponseHeader(String name,
                              String value)
Overrides:
addResponseHeader in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#addResponseHeader(String, String)}

encodeActionURL

public String encodeActionURL(String url)
Note: The reason why this method appears here in ExternalContextCompatImpl is because it needs to be overridden by ExternalContextCompat_2_2_Impl since it has special requirements for JSF 2.2.

Specified by:
encodeActionURL in class javax.faces.context.ExternalContext
Since:
JSF 1.0
See Also:
ExternalContext#encodeActionURL(String, Map)}

encodeBookmarkableURL

public String encodeBookmarkableURL(String baseUrl,
                                    Map<String,List<String>> parameters)
Overrides:
encodeBookmarkableURL in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#encodeBookmarkableURL(String, Map)}

encodePartialActionURL

public String encodePartialActionURL(String url)
Overrides:
encodePartialActionURL in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#encodePartialActionURL(String)}

encodeRedirectURL

public String encodeRedirectURL(String baseUrl,
                                Map<String,List<String>> parameters)
Overrides:
encodeRedirectURL in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#encodeRedirectURL(String, Map)}

invalidateSession

public void invalidateSession()
Overrides:
invalidateSession in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#invalidateSession()}

responseFlushBuffer

public void responseFlushBuffer()
                         throws IOException
Overrides:
responseFlushBuffer in class javax.faces.context.ExternalContext
Throws:
IOException
Since:
JSF 2.0
See Also:
ExternalContext#responseFlushBuffer()}

responseReset

public void responseReset()
Overrides:
responseReset in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#responseReset()}

responseSendError

public void responseSendError(int statusCode,
                              String message)
                       throws IOException
The Portlet API does not have an equivalent to HttpServletResponse.sendError(int, String). Since the Mojarra JSF implementation basically only calls this when a Facelet is not found, better in a portlet environment to simply log an error and throw an IOException up the call stack so that the portlet will give the portlet container a chance to render an error message.

Overrides:
responseSendError in class javax.faces.context.ExternalContext
Throws:
IOException
Since:
JSF 2.0
See Also:
ExternalContext#responseSendError(int, String)}

createFlashHttpServletResponse

protected javax.servlet.http.HttpServletResponse createFlashHttpServletResponse()

setBridgeFlash

public void setBridgeFlash(BridgeFlash bridgeFlash)

getContextName

public String getContextName()
Overrides:
getContextName in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#getContextName()}

isResponseCommitted

public boolean isResponseCommitted()
Overrides:
isResponseCommitted in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#isResponseCommitted()}

isBridgeFlashServletResponseRequired

protected boolean isBridgeFlashServletResponseRequired()

isEncodingFormWithPrimeFacesAjaxFileUpload

protected boolean isEncodingFormWithPrimeFacesAjaxFileUpload()

isSecure

public boolean isSecure()
Overrides:
isSecure in class javax.faces.context.ExternalContext

isICEfacesLegacyMode

protected boolean isICEfacesLegacyMode(javax.portlet.ClientDataRequest clientDataRequest)

getFlash

public javax.faces.context.Flash getFlash()
Overrides:
getFlash in class javax.faces.context.ExternalContext

getMimeType

public String getMimeType(String fileName)
Overrides:
getMimeType in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#getMimeType(String)}

getRealPath

public String getRealPath(String path)
Overrides:
getRealPath in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#getRealPath(String)}

getRequestContentLength

public int getRequestContentLength()
Overrides:
getRequestContentLength in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#getRequestContentLength()}

getRequestScheme

public String getRequestScheme()
Overrides:
getRequestScheme in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#getRequestScheme()}

getRequestServerName

public String getRequestServerName()
Overrides:
getRequestServerName in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#getRequestServerName()}

getRequestServerPort

public int getRequestServerPort()
Overrides:
getRequestServerPort in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#getRequestServerPort()}

getResponseBufferSize

public int getResponseBufferSize()
Overrides:
getResponseBufferSize in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#getResponseBufferSize()}

setResponseBufferSize

public void setResponseBufferSize(int size)
Overrides:
setResponseBufferSize in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#setResponseBufferSize(int)}

setResponseContentLength

public void setResponseContentLength(int length)
Overrides:
setResponseContentLength in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#setResponseContentLength(int)}

setResponseContentType

public void setResponseContentType(String contentType)
Overrides:
setResponseContentType in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#setResponseContentType(String)}

setResponseHeader

public void setResponseHeader(String name,
                              String value)
Overrides:
setResponseHeader in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#setResponseHeader(String, String)}

getResponseOutputStream

public OutputStream getResponseOutputStream()
                                     throws IOException
Overrides:
getResponseOutputStream in class javax.faces.context.ExternalContext
Throws:
IOException
Since:
JSF 2.0
See Also:
ExternalContext#getResponseOutputStream()}

getResponseOutputWriter

public Writer getResponseOutputWriter()
                               throws IOException
Overrides:
getResponseOutputWriter in class javax.faces.context.ExternalContext
Throws:
IOException
Since:
JSF 2.0
See Also:
ExternalContext#getResponseOutputWriter()}

setResponseStatus

public void setResponseStatus(int statusCode)
Sets the status of the portlet response to the specified status code. Note that this is only possible for a portlet request of type PortletResponse because that is the only type of portlet response that is delivered directly back to the client (without additional markup added by the portlet container).

Overrides:
setResponseStatus in class javax.faces.context.ExternalContext
Since:
JSF 2.0
See Also:
ExternalContext#setResponseStatus(int)}

getSessionMaxInactiveInterval

public int getSessionMaxInactiveInterval()
Overrides:
getSessionMaxInactiveInterval in class javax.faces.context.ExternalContext

setSessionMaxInactiveInterval

public void setSessionMaxInactiveInterval(int sessionMaxInactiveInterval)
Overrides:
setSessionMaxInactiveInterval in class javax.faces.context.ExternalContext


Copyright © 2013 Liferay, Inc.. All Rights Reserved.