001 /**
002 *
003 * Copyright 2003-2004 The Apache Software Foundation
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 //
019 // This source code implements specifications defined by the Java
020 // Community Process. In order to remain compliant with the specification
021 // DO NOT add / change / or delete method signatures!
022 //
023
024 package javax.servlet.http;
025
026 import java.util.Enumeration;
027 import javax.servlet.ServletRequestWrapper;
028
029 /**
030 * Provides a convenient implementation of the HttpServletRequest interface that
031 * can be subclassed by developers wishing to adapt the request to a Servlet.
032 * This class implements the Wrapper or Decorator pattern. Methods default to
033 * calling through to the wrapped request object.
034 *
035 * @see javax.servlet.http.HttpServletRequest
036
037 * @since Servlet 2.3
038 *
039 * @version $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14 Sep 2004) $
040 */
041 public class HttpServletRequestWrapper extends ServletRequestWrapper implements HttpServletRequest {
042 /**
043 * Constructs a request object wrapping the given request.
044 * @throws java.lang.IllegalArgumentException if the request is null
045 */
046 public HttpServletRequestWrapper(HttpServletRequest request) {
047 super(request);
048 }
049
050 private HttpServletRequest _getHttpServletRequest() {
051 return (HttpServletRequest) super.getRequest();
052 }
053
054 /**
055 * The default behavior of this method is to return getAuthType()
056 * on the wrapped request object.
057 */
058 public String getAuthType() {
059 return this._getHttpServletRequest().getAuthType();
060 }
061
062 /**
063 * The default behavior of this method is to return getCookies()
064 * on the wrapped request object.
065 */
066 public Cookie[] getCookies() {
067 return this._getHttpServletRequest().getCookies();
068 }
069
070 /**
071 * The default behavior of this method is to return getDateHeader(String name)
072 * on the wrapped request object.
073 */
074 public long getDateHeader(String name) {
075 return this._getHttpServletRequest().getDateHeader(name);
076 }
077
078 /**
079 * The default behavior of this method is to return getHeader(String name)
080 * on the wrapped request object.
081 */
082 public String getHeader(String name) {
083 return this._getHttpServletRequest().getHeader(name);
084 }
085
086 /**
087 * The default behavior of this method is to return getHeaders(String name)
088 * on the wrapped request object.
089 */
090 public Enumeration getHeaders(String name) {
091 return this._getHttpServletRequest().getHeaders(name);
092 }
093
094 /**
095 * The default behavior of this method is to return getHeaderNames()
096 * on the wrapped request object.
097 */
098 public Enumeration getHeaderNames() {
099 return this._getHttpServletRequest().getHeaderNames();
100 }
101
102 /**
103 * The default behavior of this method is to return getIntHeader(String name)
104 * on the wrapped request object.
105 */
106 public int getIntHeader(String name) {
107 return this._getHttpServletRequest().getIntHeader(name);
108 }
109
110 /**
111 * The default behavior of this method is to return getMethod()
112 * on the wrapped request object.
113 */
114 public String getMethod() {
115 return this._getHttpServletRequest().getMethod();
116 }
117
118 /**
119 * The default behavior of this method is to return getPathInfo()
120 * on the wrapped request object.
121 */
122 public String getPathInfo() {
123 return this._getHttpServletRequest().getPathInfo();
124 }
125
126 /**
127 * The default behavior of this method is to return getPathTranslated()
128 * on the wrapped request object.
129 */
130 public String getPathTranslated() {
131 return this._getHttpServletRequest().getPathTranslated();
132 }
133
134 /**
135 * The default behavior of this method is to return getContextPath()
136 * on the wrapped request object.
137 */
138 public String getContextPath() {
139 return this._getHttpServletRequest().getContextPath();
140 }
141
142 /**
143 * The default behavior of this method is to return getQueryString()
144 * on the wrapped request object.
145 */
146 public String getQueryString() {
147 return this._getHttpServletRequest().getQueryString();
148 }
149
150 /**
151 * The default behavior of this method is to return getRemoteUser()
152 * on the wrapped request object.
153 */
154 public String getRemoteUser() {
155 return this._getHttpServletRequest().getRemoteUser();
156 }
157
158 /**
159 * The default behavior of this method is to return isUserInRole(String role)
160 * on the wrapped request object.
161 */
162 public boolean isUserInRole(String role) {
163 return this._getHttpServletRequest().isUserInRole(role);
164 }
165
166 /**
167 * The default behavior of this method is to return getUserPrincipal()
168 * on the wrapped request object.
169 */
170 public java.security.Principal getUserPrincipal() {
171 return this._getHttpServletRequest().getUserPrincipal();
172 }
173
174 /**
175 * The default behavior of this method is to return getRequestedSessionId()
176 * on the wrapped request object.
177 */
178 public String getRequestedSessionId() {
179 return this._getHttpServletRequest().getRequestedSessionId();
180 }
181
182 /**
183 * The default behavior of this method is to return getRequestURI()
184 * on the wrapped request object.
185 */
186 public String getRequestURI() {
187 return this._getHttpServletRequest().getRequestURI();
188 }
189
190 /**
191 * The default behavior of this method is to return getRequestURL()
192 * on the wrapped request object.
193 */
194 public StringBuffer getRequestURL() {
195 return this._getHttpServletRequest().getRequestURL();
196 }
197
198 /**
199 * The default behavior of this method is to return getServletPath()
200 * on the wrapped request object.
201 */
202 public String getServletPath() {
203 return this._getHttpServletRequest().getServletPath();
204 }
205
206 /**
207 * The default behavior of this method is to return getSession(boolean create)
208 * on the wrapped request object.
209 */
210 public HttpSession getSession(boolean create) {
211 return this._getHttpServletRequest().getSession(create);
212 }
213
214 /**
215 * The default behavior of this method is to return getSession()
216 * on the wrapped request object.
217 */
218 public HttpSession getSession() {
219 return this._getHttpServletRequest().getSession();
220 }
221
222 /**
223 * The default behavior of this method is to return isRequestedSessionIdValid()
224 * on the wrapped request object.
225 */
226 public boolean isRequestedSessionIdValid() {
227 return this._getHttpServletRequest().isRequestedSessionIdValid();
228 }
229
230 /**
231 * The default behavior of this method is to return isRequestedSessionIdFromCookie()
232 * on the wrapped request object.
233 */
234 public boolean isRequestedSessionIdFromCookie() {
235 return this._getHttpServletRequest().isRequestedSessionIdFromCookie();
236 }
237
238 /**
239 * The default behavior of this method is to return isRequestedSessionIdFromURL()
240 * on the wrapped request object.
241 */
242 public boolean isRequestedSessionIdFromURL() {
243 return this._getHttpServletRequest().isRequestedSessionIdFromURL();
244 }
245
246 /**
247 * The default behavior of this method is to return isRequestedSessionIdFromUrl()
248 * on the wrapped request object.
249 */
250 public boolean isRequestedSessionIdFromUrl() {
251 return this._getHttpServletRequest().isRequestedSessionIdFromUrl();
252 }
253 }