org.apache.pluto.internal.impl
Class PortletResponseImpl

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.apache.pluto.internal.impl.PortletResponseImpl
All Implemented Interfaces:
javax.portlet.PortletResponse, javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse, InternalPortletResponse
Direct Known Subclasses:
ActionResponseImpl, RenderResponseImpl

public abstract class PortletResponseImpl
extends javax.servlet.http.HttpServletResponseWrapper
implements javax.portlet.PortletResponse, InternalPortletResponse

Abstract javax.portlet.PortletResponse implementation. This class also implements InternalPortletResponse.


Field Summary
 
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
 
Constructor Summary
PortletResponseImpl(PortletContainer container, InternalPortletWindow internalPortletWindow, javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse)
           
 
Method Summary
 void addProperty(java.lang.String name, java.lang.String value)
           
 java.lang.String encodeUrl(java.lang.String url)
           
 java.lang.String encodeURL(java.lang.String path)
           
protected  PortletContainer getContainer()
          Returns the portlet container.
protected  javax.servlet.http.HttpServletRequest getHttpServletRequest()
          Returns the nested HttpServletRequest instance.
 javax.servlet.http.HttpServletResponse getHttpServletResponse()
          Returns the nested HttpServletResponse instance.
 InternalPortletWindow getInternalPortletWindow()
           
 javax.servlet.ServletOutputStream getOutputStream()
          TODO: javadoc about why we are using a wrapped writer here.
 java.io.PrintWriter getWriter()
           
protected  boolean isAbsolute(java.lang.String path)
          Determines if the supplied path should be treated as an absolute URL.
 void setProperty(java.lang.String name, java.lang.String value)
           
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale
 

Constructor Detail

PortletResponseImpl

public PortletResponseImpl(PortletContainer container,
                           InternalPortletWindow internalPortletWindow,
                           javax.servlet.http.HttpServletRequest servletRequest,
                           javax.servlet.http.HttpServletResponse servletResponse)
Method Detail

addProperty

public void addProperty(java.lang.String name,
                        java.lang.String value)
Specified by:
addProperty in interface javax.portlet.PortletResponse

setProperty

public void setProperty(java.lang.String name,
                        java.lang.String value)
Specified by:
setProperty in interface javax.portlet.PortletResponse

encodeURL

public java.lang.String encodeURL(java.lang.String path)
Specified by:
encodeURL in interface javax.portlet.PortletResponse
Specified by:
encodeURL in interface javax.servlet.http.HttpServletResponse
Overrides:
encodeURL in class javax.servlet.http.HttpServletResponseWrapper

getInternalPortletWindow

public InternalPortletWindow getInternalPortletWindow()
Specified by:
getInternalPortletWindow in interface InternalPortletResponse

getContainer

protected PortletContainer getContainer()
Returns the portlet container.

Returns:
the portlet container.

getHttpServletRequest

protected javax.servlet.http.HttpServletRequest getHttpServletRequest()
Returns the nested HttpServletRequest instance.

Returns:
the nested HttpServletRequest instance.

isAbsolute

protected boolean isAbsolute(java.lang.String path)
Determines if the supplied path should be treated as an absolute URL. This default implementation considers the following conditions when evaluating the path:
  1. If the path is null, return false
  2. If the path contains the string "://", then return true
  3. If the path starts with the string "wsrp-rewrite?" then return true
  4. If none of the previous conditions hold true, return false

If the path is considered absolute, then ResourceURL providers (e.g. ResourceURLProvider implementations) should perform little, if any, manipulation of the path.

If the path is not considered absolute, then the ResourceURL provider may modify it to be absolute according to the ResourceURLProvider.toString() contract. For example, they may pre-pend a scheme and host to the supplied path.

Parameters:
path - a string representing a resource path
Returns:
true if the resource path should be considered absolute

getHttpServletResponse

public javax.servlet.http.HttpServletResponse getHttpServletResponse()
Returns the nested HttpServletResponse instance.

Returns:
the nested HttpServletResponse instance.

encodeUrl

public java.lang.String encodeUrl(java.lang.String url)
Specified by:
encodeUrl in interface javax.servlet.http.HttpServletResponse
Overrides:
encodeUrl in class javax.servlet.http.HttpServletResponseWrapper

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.lang.IllegalStateException,
                                                         java.io.IOException
TODO: javadoc about why we are using a wrapped writer here.

Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Overrides:
getOutputStream in class javax.servlet.ServletResponseWrapper
Throws:
java.lang.IllegalStateException
java.io.IOException
See Also:
PrintWriterServletOutputStream

getWriter

public java.io.PrintWriter getWriter()
                              throws java.lang.IllegalStateException,
                                     java.io.IOException
Specified by:
getWriter in interface javax.servlet.ServletResponse
Overrides:
getWriter in class javax.servlet.ServletResponseWrapper
Throws:
java.lang.IllegalStateException
java.io.IOException


Copyright © 2003-2009 Apache Software Foundation. All Rights Reserved.