001    // Copyright 2004, 2005 The Apache Software Foundation
002    //
003    // Licensed under the Apache License, Version 2.0 (the "License");
004    // you may not use this file except in compliance with the License.
005    // You may obtain a copy of the License at
006    //
007    //     http://www.apache.org/licenses/LICENSE-2.0
008    //
009    // Unless required by applicable law or agreed to in writing, software
010    // distributed under the License is distributed on an "AS IS" BASIS,
011    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
012    // See the License for the specific language governing permissions and
013    // limitations under the License.
014    
015    package org.apache.tapestry.services.impl;
016    
017    import javax.servlet.http.HttpServletRequest;
018    import javax.servlet.http.HttpServletResponse;
019    
020    import org.apache.tapestry.IRequestCycle;
021    import org.apache.tapestry.services.RequestGlobals;
022    import org.apache.tapestry.services.ResponseBuilder;
023    import org.apache.tapestry.web.WebRequest;
024    import org.apache.tapestry.web.WebResponse;
025    
026    /**
027     * Wrapper around {@link org.apache.hivemind.service.ThreadLocalStorage}used to store and retrieve
028     * Servlet API info.
029     * 
030     * @author Howard Lewis Ship
031     * @since 4.0
032     */
033    public class RequestGlobalsImpl implements RequestGlobals
034    {
035        private WebRequest _webRequest;
036    
037        private WebResponse _webResponse;
038    
039        private HttpServletRequest _request;
040    
041        private HttpServletResponse _response;
042    
043        private IRequestCycle _requestCycle;
044    
045        private ResponseBuilder _responseBuilder;
046        
047        public WebRequest getWebRequest()
048        {
049            return _webRequest;
050        }
051    
052        public WebResponse getWebResponse()
053        {
054            return _webResponse;
055        }
056    
057        public HttpServletRequest getRequest()
058        {
059            return _request;
060        }
061    
062        public HttpServletResponse getResponse()
063        {
064            return _response;
065        }
066    
067        public void store(WebRequest request, WebResponse response)
068        {
069            _webRequest = request;
070            _webResponse = response;
071        }
072    
073        public void store(HttpServletRequest request, HttpServletResponse response)
074        {
075            _request = request;
076            _response = response;
077        }
078    
079        public IRequestCycle getRequestCycle()
080        {
081            return _requestCycle;
082        }
083    
084        public void store(IRequestCycle cycle)
085        {
086            _requestCycle = cycle;
087        }
088        
089        public ResponseBuilder getResponseBuilder()
090        {
091            return _responseBuilder;
092        }
093        
094        public void store(ResponseBuilder builder)
095        {
096            _responseBuilder = builder;
097        }
098    }