1 /*
2 * $Source: /usr/cvsroot/melati/melati/src/main/java/org/melati/util/DelegatedHttpServletRequest.java,v $
3 * $Revision: 1.15 $
4 *
5 * Copyright (C) 2001 William Chesters
6 *
7 * Part of Melati (http://melati.org), a framework for the rapid
8 * development of clean, maintainable web applications.
9 *
10 * Melati is free software; Permission is granted to copy, distribute
11 * and/or modify this software under the terms either:
12 *
13 * a) the GNU General Public License as published by the Free Software
14 * Foundation; either version 2 of the License, or (at your option)
15 * any later version,
16 *
17 * or
18 *
19 * b) any version of the Melati Software License, as published
20 * at http://melati.org
21 *
22 * You should have received a copy of the GNU General Public License and
23 * the Melati Software License along with this program;
24 * if not, write to the Free Software Foundation, Inc.,
25 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA to obtain the
26 * GNU General Public License and visit http://melati.org to obtain the
27 * Melati Software License.
28 *
29 * Feel free to contact the Developers of Melati (http://melati.org),
30 * if you would like to work out a different arrangement than the options
31 * outlined here. It is our intention to allow Melati to be used by as
32 * wide an audience as possible.
33 *
34 * This program is distributed in the hope that it will be useful,
35 * but WITHOUT ANY WARRANTY; without even the implied warranty of
36 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 * GNU General Public License for more details.
38 *
39 * Contact details for copyright holder:
40 *
41 * William Chesters <williamc At paneris.org>
42 * http://paneris.org/~williamc
43 * Obrechtstraat 114, 2517VX Den Haag, The Netherlands
44 */
45
46 package org.melati.util;
47
48 import java.util.Map;
49 import java.util.Enumeration;
50 import java.util.Locale;
51 import javax.servlet.RequestDispatcher;
52 import javax.servlet.http.HttpServletRequest;
53
54 /**
55 *
56 *
57 * Enables Melati to compile, without warnings, with the Servlet API
58 * versions 2.0 to 2.5.
59 *
60 * However the database listener and admin tests rely upon 2.4 features.
61 *
62 */
63
64 public class DelegatedHttpServletRequest implements HttpServletRequest {
65
66 protected HttpServletRequest peer;
67
68 /**
69 * @param peer
70 */
71 public DelegatedHttpServletRequest(HttpServletRequest peer) {
72 this.peer = peer;
73 }
74
75 /*
76 * Core methods common to all APIs; call these directly.
77 */
78
79 /**
80 * {@inheritDoc}
81 * @see javax.servlet.http.HttpServletRequest#getAuthType()
82 */
83 public java.lang.String getAuthType() {
84 return peer.getAuthType();
85 }
86 /**
87 * {@inheritDoc}
88 * @see javax.servlet.http.HttpServletRequest#getCookies()
89 */
90 public javax.servlet.http.Cookie[] getCookies() {
91 return peer.getCookies();
92 }
93 /**
94 * {@inheritDoc}
95 * @see javax.servlet.http.HttpServletRequest#getDateHeader(java.lang.String)
96 */
97 public long getDateHeader(java.lang.String a) {
98 return peer.getDateHeader(a);
99 }
100 /**
101 * {@inheritDoc}
102 * @see javax.servlet.http.HttpServletRequest#getHeader(java.lang.String)
103 */
104 public java.lang.String getHeader(java.lang.String a) {
105 return peer.getHeader(a);
106 }
107 /**
108 * {@inheritDoc}
109 * @see javax.servlet.http.HttpServletRequest#getHeaderNames()
110 */
111 @SuppressWarnings("unchecked")
112 public java.util.Enumeration<String> getHeaderNames() {
113 return peer.getHeaderNames();
114 }
115 /**
116 * {@inheritDoc}
117 * @see javax.servlet.http.HttpServletRequest#getIntHeader(java.lang.String)
118 */
119 public int getIntHeader(java.lang.String a) {
120 return peer.getIntHeader(a);
121 }
122 /**
123 * {@inheritDoc}
124 * @see javax.servlet.http.HttpServletRequest#getMethod()
125 */
126 public java.lang.String getMethod() {
127 return peer.getMethod();
128 }
129 /**
130 * {@inheritDoc}
131 * @see javax.servlet.http.HttpServletRequest#getPathInfo()
132 */
133 public java.lang.String getPathInfo() {
134 return peer.getPathInfo();
135 }
136 /**
137 * {@inheritDoc}
138 * @see javax.servlet.http.HttpServletRequest#getPathTranslated()
139 */
140 public java.lang.String getPathTranslated() {
141 return peer.getPathTranslated();
142 }
143 /**
144 * {@inheritDoc}
145 * @see javax.servlet.http.HttpServletRequest#getQueryString()
146 */
147 public java.lang.String getQueryString() {
148 return peer.getQueryString();
149 }
150 /**
151 * {@inheritDoc}
152 * @see javax.servlet.http.HttpServletRequest#getRemoteUser()
153 */
154 public java.lang.String getRemoteUser() {
155 return peer.getRemoteUser();
156 }
157 /**
158 * {@inheritDoc}
159 * @see javax.servlet.http.HttpServletRequest#getRequestURI()
160 */
161 public java.lang.String getRequestURI() {
162 return peer.getRequestURI();
163 }
164 /**
165 * {@inheritDoc}
166 * @see javax.servlet.http.HttpServletRequest#getRequestedSessionId()
167 */
168 public java.lang.String getRequestedSessionId() {
169 return peer.getRequestedSessionId();
170 }
171 /**
172 * {@inheritDoc}
173 * @see javax.servlet.http.HttpServletRequest#getServletPath()
174 */
175 public java.lang.String getServletPath() {
176 return peer.getServletPath();
177 }
178 /**
179 * {@inheritDoc}
180 * @see javax.servlet.http.HttpServletRequest#getSession(boolean)
181 */
182 public javax.servlet.http.HttpSession getSession(boolean a) {
183 return peer.getSession(a);
184 }
185
186 /**
187 * {@inheritDoc}
188 * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdValid()
189 */
190 public boolean isRequestedSessionIdValid() {
191 return peer.isRequestedSessionIdValid();
192 }
193 /**
194 * {@inheritDoc}
195 * @see javax.servlet.ServletRequest#getAttribute(java.lang.String)
196 */
197 public java.lang.Object getAttribute(java.lang.String a) {
198 return peer.getAttribute(a);
199 }
200 /**
201 * {@inheritDoc}
202 * @see javax.servlet.ServletRequest#getCharacterEncoding()
203 */
204 public java.lang.String getCharacterEncoding() {
205 return peer.getCharacterEncoding();
206 }
207 /**
208 * {@inheritDoc}
209 * @see javax.servlet.ServletRequest#getContentLength()
210 */
211 public int getContentLength() {
212 return peer.getContentLength();
213 }
214 /**
215 * {@inheritDoc}
216 * @see javax.servlet.ServletRequest#getContentType()
217 */
218 public java.lang.String getContentType() {
219 return peer.getContentType();
220 }
221 /**
222 * {@inheritDoc}
223 * @see javax.servlet.ServletRequest#getInputStream()
224 */
225 public javax.servlet.ServletInputStream getInputStream()
226 throws java.io.IOException {
227 return peer.getInputStream();
228 }
229 /**
230 * {@inheritDoc}
231 * @see javax.servlet.ServletRequest#getParameter(java.lang.String)
232 */
233 public java.lang.String getParameter(java.lang.String a) {
234 return peer.getParameter(a);
235 }
236 /**
237 * {@inheritDoc}
238 * @see javax.servlet.ServletRequest#getParameterNames()
239 */
240 @SuppressWarnings("unchecked")
241 public java.util.Enumeration<String> getParameterNames() {
242 return peer.getParameterNames();
243 }
244 /**
245 * {@inheritDoc}
246 * @see javax.servlet.ServletRequest#getParameterValues(java.lang.String)
247 */
248 public java.lang.String[] getParameterValues(java.lang.String a) {
249 return peer.getParameterValues(a);
250 }
251 /**
252 * {@inheritDoc}
253 * @see javax.servlet.ServletRequest#getProtocol()
254 */
255 public java.lang.String getProtocol() {
256 return peer.getProtocol();
257 }
258 /**
259 * {@inheritDoc}
260 * @see javax.servlet.ServletRequest#getReader()
261 */
262 public java.io.BufferedReader getReader() throws java.io.IOException {
263 return peer.getReader();
264 }
265
266 /**
267 * {@inheritDoc}
268 * @see javax.servlet.ServletRequest#getRemoteAddr()
269 */
270 public java.lang.String getRemoteAddr() {
271 return peer.getRemoteAddr();
272 }
273 /**
274 * {@inheritDoc}
275 * @see javax.servlet.ServletRequest#getRemoteHost()
276 */
277 public java.lang.String getRemoteHost() {
278 return peer.getRemoteHost();
279 }
280 /**
281 * {@inheritDoc}
282 * @see javax.servlet.ServletRequest#getScheme()
283 */
284 public java.lang.String getScheme() {
285 return peer.getScheme();
286 }
287 /**
288 * {@inheritDoc}
289 * @see javax.servlet.ServletRequest#getServerName()
290 */
291 public java.lang.String getServerName() {
292 return peer.getServerName();
293 }
294 /**
295 * {@inheritDoc}
296 * @see javax.servlet.ServletRequest#getServerPort()
297 */
298 public int getServerPort() {
299 return peer.getServerPort();
300 }
301
302 /**
303 * {@inheritDoc}
304 * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromCookie()
305 */
306 public boolean isRequestedSessionIdFromCookie() {
307 return peer.isRequestedSessionIdFromCookie();
308 }
309
310 //
311 // Deprecated methods, may disappear.
312 //
313
314 /**
315 * @deprecated Servlet API 2.1
316 *
317 * {@inheritDoc}
318 * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromUrl()
319 */
320 public boolean isRequestedSessionIdFromUrl() {
321 return peer.isRequestedSessionIdFromUrl();
322 }
323 /**
324 * @deprecated Servlet API 2.1
325 *
326 * {@inheritDoc}
327 * @see javax.servlet.ServletRequest#getRealPath(java.lang.String)
328 */
329 public java.lang.String getRealPath(java.lang.String a) {
330 return peer.getRealPath(a);
331 }
332
333 //
334 // Servlet API 2.1 extensions
335 //
336
337 /**
338 * {@inheritDoc}
339 * @see javax.servlet.http.HttpServletRequest#getUserPrincipal()
340 */
341 public java.security.Principal getUserPrincipal() {
342 return peer.getUserPrincipal();
343 }
344 /**
345 * {@inheritDoc}
346 * @see javax.servlet.http.HttpServletRequest#getContextPath()
347 */
348 public java.lang.String getContextPath() {
349 return peer.getContextPath();
350 }
351 /**
352 * {@inheritDoc}
353 * @see javax.servlet.http.HttpServletRequest#getHeaders(java.lang.String)
354 */
355 @SuppressWarnings("unchecked")
356 public java.util.Enumeration<String> getHeaders(java.lang.String name) {
357 return peer.getHeaders(name);
358 }
359 /**
360 * {@inheritDoc}
361 * @see javax.servlet.http.HttpServletRequest#getSession()
362 */
363 public javax.servlet.http.HttpSession getSession() {
364 return peer.getSession();
365 }
366 /**
367 * {@inheritDoc}
368 * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromURL()
369 */
370 public boolean isRequestedSessionIdFromURL() {
371 return peer.isRequestedSessionIdFromURL();
372 }
373
374 //
375 // Servlet API 2.2 extensions
376 //
377
378 /**
379 * {@inheritDoc}
380 * @see javax.servlet.http.HttpServletRequest#isUserInRole(java.lang.String)
381 */
382 public boolean isUserInRole(java.lang.String a) {
383 return peer.isUserInRole(a);
384 }
385 /**
386 * {@inheritDoc}
387 * @see javax.servlet.ServletRequest#getAttributeNames()
388 */
389 @SuppressWarnings("unchecked")
390 public Enumeration<String> getAttributeNames() {
391 return peer.getAttributeNames();
392 }
393 /**
394 * {@inheritDoc}
395 * @see javax.servlet.ServletRequest#getLocale()
396 */
397 public Locale getLocale() {
398 return peer.getLocale();
399 }
400 /**
401 * {@inheritDoc}
402 * @see javax.servlet.ServletRequest#getLocales()
403 */
404 @SuppressWarnings("unchecked")
405 public Enumeration<Locale> getLocales() {
406 return peer.getLocales();
407 }
408
409 /**
410 * {@inheritDoc}
411 * @see javax.servlet.ServletRequest#getRequestDispatcher(java.lang.String)
412 */
413 public RequestDispatcher getRequestDispatcher(String arg) {
414 return peer.getRequestDispatcher(arg);
415 }
416 /**
417 * {@inheritDoc}
418 * @see javax.servlet.ServletRequest#isSecure()
419 */
420 public boolean isSecure() {
421 return peer.isSecure();
422 }
423 /**
424 * {@inheritDoc}
425 * @see javax.servlet.ServletRequest#removeAttribute(java.lang.String)
426 */
427 public void removeAttribute(String arg) {
428 peer.removeAttribute(arg);
429 }
430 /**
431 * {@inheritDoc}
432 * @see javax.servlet.ServletRequest#setAttribute(java.lang.String, java.lang.Object)
433 */
434 public void setAttribute(String arg1, Object arg2) {
435 peer.setAttribute(arg1, arg2);
436 }
437
438 //
439 // Servlet 2.3 extensions
440 //
441
442 /**
443 * {@inheritDoc}
444 * @see javax.servlet.http.HttpServletRequest#getRequestURL()
445 */
446 public StringBuffer getRequestURL() {
447 return peer.getRequestURL();
448 }
449
450 /**
451 * {@inheritDoc}
452 * @see javax.servlet.ServletRequest#setCharacterEncoding(java.lang.String)
453 */
454 public void setCharacterEncoding (String s) throws java.io.UnsupportedEncodingException {
455 peer.setCharacterEncoding(s);
456 }
457
458 /**
459 * {@inheritDoc}
460 * @see javax.servlet.ServletRequest#getParameterMap()
461 */
462 @SuppressWarnings("unchecked")
463 public Map<String, String[]> getParameterMap () {
464 return peer.getParameterMap();
465 }
466
467 //
468 // Servlet 2.4 extensions
469 //
470
471 /**
472 * {@inheritDoc}
473 * @see javax.servlet.ServletRequest#getLocalAddr()
474 */
475 public String getLocalAddr() {
476 return peer.getLocalAddr();
477 }
478
479 /**
480 * {@inheritDoc}
481 * @see javax.servlet.ServletRequest#getLocalName()
482 */
483 public String getLocalName() {
484 return peer.getLocalName();
485 }
486
487 /**
488 * {@inheritDoc}
489 * @see javax.servlet.ServletRequest#getLocalPort()
490 */
491 public int getLocalPort() {
492 return peer.getLocalPort();
493 }
494
495 /**
496 * {@inheritDoc}
497 * @see javax.servlet.ServletRequest#getRemotePort()
498 */
499 public int getRemotePort() {
500 return peer.getRemotePort();
501 }
502
503 //
504 // There are no Servlet 2.5 extensions
505 //
506 }
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521