org.apache.sling.engine.impl.request
Class RequestData

java.lang.Object
  extended by org.apache.sling.engine.impl.request.RequestData

public class RequestData
extends java.lang.Object

The RequestData class provides access to objects which are set on a Servlet Request wide basis such as the repository session, the persistence manager, etc. The setup order is:

  1. Invoke constructor
  2. Invoke initResource()
  3. Invoke initServlet()

See Also:
ContentData

Field Summary
static int DEFAULT_MAX_CALL_COUNTER
          The default value for the number of calls to the service(SlingHttpServletRequest, SlingHttpServletResponse) method for a single instance of this class (value is 1000).
static int DEFAULT_MAX_INCLUSION_COUNTER
          The default value for the number of recursive inclusions for a single instance of this class (value is 50).
static java.lang.String REQUEST_RESOURCE_PATH_ATTR
          The name of the request attribute providing the resource addressed by the request URL.
 
Constructor Summary
RequestData(SlingRequestProcessorImpl slingRequestProcessor, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 
Method Summary
<Type> Type
adaptTo(java.lang.Object object, java.lang.Class<Type> type)
           
 java.lang.String getActiveServletName()
          Returns the name of the currently active servlet.
 ContentData getContentData()
           
 long getElapsedTimeMsec()
           
 javax.servlet.ServletInputStream getInputStream()
           
static int getMaxCallCounter()
           
static int getMaxIncludeCounter()
           
 java.lang.String getMimeType(java.lang.String fileName)
           
 ParameterSupport getParameterSupport()
           
 int getPeakRecusionDepth()
           
 java.io.BufferedReader getReader()
           
static RequestData getRequestData(javax.servlet.ServletRequest request)
           
static RequestData getRequestData(org.apache.sling.api.SlingHttpServletRequest request)
           
 org.apache.sling.api.request.RequestProgressTracker getRequestProgressTracker()
           
 org.apache.sling.api.resource.ResourceResolver getResourceResolver()
           
 int getServletCallCount()
           
 javax.servlet.http.HttpServletRequest getServletRequest()
           
 javax.servlet.http.HttpServletResponse getServletResponse()
           
 org.apache.sling.api.SlingHttpServletRequest getSlingRequest()
           
 SlingRequestProcessorImpl getSlingRequestProcessor()
           
 org.apache.sling.api.SlingHttpServletResponse getSlingResponse()
           
 org.apache.sling.api.resource.Resource initResource(org.apache.sling.api.resource.ResourceResolver resourceResolver)
           
 void initServlet(org.apache.sling.api.resource.Resource resource, org.apache.sling.api.servlets.ServletResolver sr)
           
 void resetContent(ContentData data)
           
static void service(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response)
          Helper method to call the servlet for the current content data.
 java.lang.String setActiveServletName(java.lang.String servletName)
          Sets the name of the currently active servlet and returns the name of the previously active servlet.
 ContentData setContent(org.apache.sling.api.resource.Resource resource, org.apache.sling.api.request.RequestPathInfo requestPathInfo)
           
static void setMaxCallCounter(int maxCallCounter)
           
static void setMaxIncludeCounter(int maxInclusionCounter)
           
static void setSlingMainServlet(SlingMainServlet slingMainServlet)
           
static org.apache.sling.api.SlingHttpServletRequest toSlingHttpServletRequest(javax.servlet.ServletRequest request)
           
static org.apache.sling.api.SlingHttpServletResponse toSlingHttpServletResponse(javax.servlet.ServletResponse response)
           
static org.apache.sling.api.SlingHttpServletRequest unwrap(javax.servlet.ServletRequest request)
          Unwraps the ServletRequest to a SlingHttpServletRequest.
static org.apache.sling.api.SlingHttpServletResponse unwrap(javax.servlet.ServletResponse response)
          Unwraps the ServletRequest to a SlingHttpServletRequest.
static SlingHttpServletRequestImpl unwrap(org.apache.sling.api.SlingHttpServletRequest request)
          Unwraps the SlingHttpServletRequest to a SlingHttpServletRequestImpl
static SlingHttpServletResponseImpl unwrap(org.apache.sling.api.SlingHttpServletResponse response)
          Unwraps a SlingHttpServletResponse to a SlingHttpServletResponseImpl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX_INCLUSION_COUNTER

public static final int DEFAULT_MAX_INCLUSION_COUNTER
The default value for the number of recursive inclusions for a single instance of this class (value is 50).

See Also:
Constant Field Values

DEFAULT_MAX_CALL_COUNTER

public static final int DEFAULT_MAX_CALL_COUNTER
The default value for the number of calls to the service(SlingHttpServletRequest, SlingHttpServletResponse) method for a single instance of this class (value is 1000).

See Also:
Constant Field Values

REQUEST_RESOURCE_PATH_ATTR

public static final java.lang.String REQUEST_RESOURCE_PATH_ATTR
The name of the request attribute providing the resource addressed by the request URL.

See Also:
Constant Field Values
Constructor Detail

RequestData

public RequestData(SlingRequestProcessorImpl slingRequestProcessor,
                   javax.servlet.http.HttpServletRequest request,
                   javax.servlet.http.HttpServletResponse response)
Method Detail

setMaxCallCounter

public static void setMaxCallCounter(int maxCallCounter)

getMaxCallCounter

public static int getMaxCallCounter()

setMaxIncludeCounter

public static void setMaxIncludeCounter(int maxInclusionCounter)

getMaxIncludeCounter

public static int getMaxIncludeCounter()

setSlingMainServlet

public static void setSlingMainServlet(SlingMainServlet slingMainServlet)

initResource

public org.apache.sling.api.resource.Resource initResource(org.apache.sling.api.resource.ResourceResolver resourceResolver)

initServlet

public void initServlet(org.apache.sling.api.resource.Resource resource,
                        org.apache.sling.api.servlets.ServletResolver sr)

getSlingRequestProcessor

public SlingRequestProcessorImpl getSlingRequestProcessor()

getServletRequest

public javax.servlet.http.HttpServletRequest getServletRequest()

getServletResponse

public javax.servlet.http.HttpServletResponse getServletResponse()

getSlingRequest

public org.apache.sling.api.SlingHttpServletRequest getSlingRequest()

getSlingResponse

public org.apache.sling.api.SlingHttpServletResponse getSlingResponse()

unwrap

public static org.apache.sling.api.SlingHttpServletRequest unwrap(javax.servlet.ServletRequest request)
Unwraps the ServletRequest to a SlingHttpServletRequest.

Throws:
java.lang.IllegalArgumentException - If the request is not a SlingHttpServletRequest and not a ServletRequestWrapper wrapping a SlingHttpServletRequest.

unwrap

public static SlingHttpServletRequestImpl unwrap(org.apache.sling.api.SlingHttpServletRequest request)
Unwraps the SlingHttpServletRequest to a SlingHttpServletRequestImpl

Parameters:
request -
Throws:
java.lang.IllegalArgumentException - If request is not a SlingHttpServletRequestImpl and not SlingHttpServletRequestWrapper wrapping a SlingHttpServletRequestImpl.

unwrap

public static org.apache.sling.api.SlingHttpServletResponse unwrap(javax.servlet.ServletResponse response)
Unwraps the ServletRequest to a SlingHttpServletRequest.

Throws:
java.lang.IllegalArgumentException - If the response is not a SlingHttpServletResponse and not a ServletResponseWrapper wrapping a SlingHttpServletResponse.

unwrap

public static SlingHttpServletResponseImpl unwrap(org.apache.sling.api.SlingHttpServletResponse response)
Unwraps a SlingHttpServletResponse to a SlingHttpServletResponseImpl

Parameters:
response -
Throws:
java.lang.IllegalArgumentException - If response is not a SlingHttpServletResponseImpl and not SlingHttpServletResponseWrapper wrapping a SlingHttpServletResponseImpl.

getRequestData

public static RequestData getRequestData(javax.servlet.ServletRequest request)
Parameters:
request -
Throws:
java.lang.IllegalArgumentException - If the request is not a SlingHttpServletRequest and not a ServletRequestWrapper wrapping a SlingHttpServletRequest.

getRequestData

public static RequestData getRequestData(org.apache.sling.api.SlingHttpServletRequest request)
Parameters:
request -
Throws:
java.lang.IllegalArgumentException - If request is not a SlingHttpServletRequestImpl and not SlingHttpServletRequestWrapper wrapping a SlingHttpServletRequestImpl.

toSlingHttpServletRequest

public static org.apache.sling.api.SlingHttpServletRequest toSlingHttpServletRequest(javax.servlet.ServletRequest request)
Parameters:
request -
Throws:
java.lang.IllegalArgumentException - if request is not a HttpServletRequest of if request is not backed by SlingHttpServletRequestImpl.

toSlingHttpServletResponse

public static org.apache.sling.api.SlingHttpServletResponse toSlingHttpServletResponse(javax.servlet.ServletResponse response)
Parameters:
response -
Throws:
java.lang.IllegalArgumentException - if response is not a HttpServletResponse of if response is not backed by SlingHttpServletResponseImpl.

service

public static void service(org.apache.sling.api.SlingHttpServletRequest request,
                           org.apache.sling.api.SlingHttpServletResponse response)
                    throws java.io.IOException,
                           javax.servlet.ServletException
Helper method to call the servlet for the current content data. If the current content data has no servlet, NOT_FOUND (404) error is sent and the method terminates.

If the the servlet exists, the SlingConstants.SLING_CURRENT_SERVLET_NAME request attribute is set to the name of that servlet and that servlet name is also set as the currently active servlet. After the termination of the servlet (normal or throwing a Throwable) the request attribute is reset to the previous value. The name of the currently active servlet is only reset to the previous value if the servlet terminates normally. In case of a Throwable, the active servlet name is not reset and indicates which servlet caused the potential abort of the request.

Parameters:
request - The request object for the service method
response - The response object for the service method
Throws:
java.io.IOException - May be thrown by the servlet's service method
javax.servlet.ServletException - May be thrown by the servlet's service method

setContent

public ContentData setContent(org.apache.sling.api.resource.Resource resource,
                              org.apache.sling.api.request.RequestPathInfo requestPathInfo)

resetContent

public void resetContent(ContentData data)

getContentData

public ContentData getContentData()

getResourceResolver

public org.apache.sling.api.resource.ResourceResolver getResourceResolver()

getRequestProgressTracker

public org.apache.sling.api.request.RequestProgressTracker getRequestProgressTracker()

getPeakRecusionDepth

public int getPeakRecusionDepth()

getServletCallCount

public int getServletCallCount()

getElapsedTimeMsec

public long getElapsedTimeMsec()

setActiveServletName

public java.lang.String setActiveServletName(java.lang.String servletName)
Sets the name of the currently active servlet and returns the name of the previously active servlet.


getActiveServletName

public java.lang.String getActiveServletName()
Returns the name of the currently active servlet. If this name is not null at the end of request processing, more precisly in the case of an uncaught Throwable at the end of request processing, this is the name of the servlet causing the uncaught Throwable.


adaptTo

public <Type> Type adaptTo(java.lang.Object object,
                           java.lang.Class<Type> type)

getMimeType

public java.lang.String getMimeType(java.lang.String fileName)

getInputStream

public javax.servlet.ServletInputStream getInputStream()
                                                throws java.io.IOException
Throws:
java.io.IOException

getReader

public java.io.BufferedReader getReader()
                                 throws java.io.UnsupportedEncodingException,
                                        java.io.IOException
Throws:
java.io.UnsupportedEncodingException
java.io.IOException

getParameterSupport

public ParameterSupport getParameterSupport()


Copyright © 2007-2012 The Apache Software Foundation. All Rights Reserved.