View Javadoc

1   /*
2    * $Source: /usr/cvsroot/melati/melati/src/main/java/org/melati/util/DelegatedHttpServletRequest.java,v $
3    * $Revision: 1.13 $
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    * Enables Melati to compile, without warnings, with the Servlet API 
56    * versions 2.0 to 2.5.
57    * 
58    * However the database listener and admin tests rely upon 2.4 features.
59    *
60    * @see   org.melati.util.HttpServletRequestCompat
61    */
62  
63  public class DelegatedHttpServletRequest implements HttpServletRequest {
64    
65    protected HttpServletRequest peer;
66    
67    /**
68     * @param peer
69     */
70    public DelegatedHttpServletRequest(HttpServletRequest peer) {
71      this.peer = peer;
72    }
73  
74   /*
75    * Core methods common to all APIs; call these directly.
76    */
77  
78    /**
79     * {@inheritDoc}
80     * @see javax.servlet.http.HttpServletRequest#getAuthType()
81     */
82    public java.lang.String getAuthType() {
83      return peer.getAuthType();
84    }
85    /**
86     * {@inheritDoc}
87     * @see javax.servlet.http.HttpServletRequest#getCookies()
88     */
89    public javax.servlet.http.Cookie[] getCookies() {
90      return peer.getCookies();
91    }
92    /**
93     * {@inheritDoc}
94     * @see javax.servlet.http.HttpServletRequest#getDateHeader(java.lang.String)
95     */
96    public long getDateHeader(java.lang.String a) {
97      return peer.getDateHeader(a);
98    }
99    /**
100    * {@inheritDoc}
101    * @see javax.servlet.http.HttpServletRequest#getHeader(java.lang.String)
102    */
103   public java.lang.String getHeader(java.lang.String a) {
104     return peer.getHeader(a);
105   }
106   /**
107    * {@inheritDoc}
108    * @see javax.servlet.http.HttpServletRequest#getHeaderNames()
109    */
110   public java.util.Enumeration getHeaderNames() {
111     return peer.getHeaderNames();
112   }
113   /**
114    * {@inheritDoc}
115    * @see javax.servlet.http.HttpServletRequest#getIntHeader(java.lang.String)
116    */
117   public int getIntHeader(java.lang.String a) {
118     return peer.getIntHeader(a);
119   }
120   /**
121    * {@inheritDoc}
122    * @see javax.servlet.http.HttpServletRequest#getMethod()
123    */
124   public java.lang.String getMethod() {
125     return peer.getMethod();
126   }
127   /**
128    * {@inheritDoc}
129    * @see javax.servlet.http.HttpServletRequest#getPathInfo()
130    */
131   public java.lang.String getPathInfo() {
132     return peer.getPathInfo();
133   }
134   /**
135    * {@inheritDoc}
136    * @see javax.servlet.http.HttpServletRequest#getPathTranslated()
137    */
138   public java.lang.String getPathTranslated() {
139     return peer.getPathTranslated();
140   }
141   /**
142    * {@inheritDoc}
143    * @see javax.servlet.http.HttpServletRequest#getQueryString()
144    */
145   public java.lang.String getQueryString() {
146     return peer.getQueryString();
147   }
148   /**
149    * {@inheritDoc}
150    * @see javax.servlet.http.HttpServletRequest#getRemoteUser()
151    */
152   public java.lang.String getRemoteUser() {
153     return peer.getRemoteUser();
154   }
155   /**
156    * {@inheritDoc}
157    * @see javax.servlet.http.HttpServletRequest#getRequestURI()
158    */
159   public java.lang.String getRequestURI() {
160     return peer.getRequestURI();
161   }
162   /**
163    * {@inheritDoc}
164    * @see javax.servlet.http.HttpServletRequest#getRequestedSessionId()
165    */
166   public java.lang.String getRequestedSessionId() {
167     return peer.getRequestedSessionId();
168   }
169   /**
170    * {@inheritDoc}
171    * @see javax.servlet.http.HttpServletRequest#getServletPath()
172    */
173   public java.lang.String getServletPath() {
174     return peer.getServletPath();
175   }
176   /**
177    * {@inheritDoc}
178    * @see javax.servlet.http.HttpServletRequest#getSession(boolean)
179    */
180   public javax.servlet.http.HttpSession getSession(boolean a) {
181     return peer.getSession(a);
182   }
183 
184   /**
185    * {@inheritDoc}
186    * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdValid()
187    */
188   public boolean isRequestedSessionIdValid() {
189     return peer.isRequestedSessionIdValid();
190   }
191   /**
192    * {@inheritDoc}
193    * @see javax.servlet.ServletRequest#getAttribute(java.lang.String)
194    */
195   public java.lang.Object getAttribute(java.lang.String a) {
196     return peer.getAttribute(a);
197   }
198   /**
199    * {@inheritDoc}
200    * @see javax.servlet.ServletRequest#getCharacterEncoding()
201    */
202   public java.lang.String getCharacterEncoding() {
203     return peer.getCharacterEncoding();
204   }
205   /**
206    * {@inheritDoc}
207    * @see javax.servlet.ServletRequest#getContentLength()
208    */
209   public int getContentLength() {
210     return peer.getContentLength();
211   }
212   /**
213    * {@inheritDoc}
214    * @see javax.servlet.ServletRequest#getContentType()
215    */
216   public java.lang.String getContentType() {
217     return peer.getContentType();
218   }
219   /**
220    * {@inheritDoc}
221    * @see javax.servlet.ServletRequest#getInputStream()
222    */
223   public javax.servlet.ServletInputStream getInputStream() 
224         throws java.io.IOException {
225     return peer.getInputStream();
226   }
227   /**
228    * {@inheritDoc}
229    * @see javax.servlet.ServletRequest#getParameter(java.lang.String)
230    */
231   public java.lang.String getParameter(java.lang.String a) {
232     return peer.getParameter(a);
233   }
234   /**
235    * {@inheritDoc}
236    * @see javax.servlet.ServletRequest#getParameterNames()
237    */
238   public java.util.Enumeration getParameterNames() {
239     return peer.getParameterNames();
240   }
241   /**
242    * {@inheritDoc}
243    * @see javax.servlet.ServletRequest#getParameterValues(java.lang.String)
244    */
245   public java.lang.String[] getParameterValues(java.lang.String a) {
246     return peer.getParameterValues(a);
247   }
248   /**
249    * {@inheritDoc}
250    * @see javax.servlet.ServletRequest#getProtocol()
251    */
252   public java.lang.String getProtocol() {
253     return peer.getProtocol();
254   }
255   /**
256    * {@inheritDoc}
257    * @see javax.servlet.ServletRequest#getReader()
258    */
259   public java.io.BufferedReader getReader() throws java.io.IOException {
260     return peer.getReader();
261   }
262 
263   /**
264    * {@inheritDoc}
265    * @see javax.servlet.ServletRequest#getRemoteAddr()
266    */
267   public java.lang.String getRemoteAddr() {
268     return peer.getRemoteAddr();
269   }
270   /**
271    * {@inheritDoc}
272    * @see javax.servlet.ServletRequest#getRemoteHost()
273    */
274   public java.lang.String getRemoteHost() {
275     return peer.getRemoteHost();
276   }
277   /**
278    * {@inheritDoc}
279    * @see javax.servlet.ServletRequest#getScheme()
280    */
281   public java.lang.String getScheme() {
282     return peer.getScheme();
283   }
284   /**
285    * {@inheritDoc}
286    * @see javax.servlet.ServletRequest#getServerName()
287    */
288   public java.lang.String getServerName() {
289     return peer.getServerName();
290   }
291   /**
292    * {@inheritDoc}
293    * @see javax.servlet.ServletRequest#getServerPort()
294    */
295   public int getServerPort() {
296     return peer.getServerPort();
297   }
298 
299   /**
300    * {@inheritDoc}
301    * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromCookie()
302    */
303   public boolean isRequestedSessionIdFromCookie() {
304     return peer.isRequestedSessionIdFromCookie();
305   }
306 
307   //
308   //  Deprecated methods, may disappear.
309   //
310   
311   /**
312    * @deprecated Servlet API 2.1
313    *  
314    * {@inheritDoc}
315    * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromUrl()
316    */
317   public boolean isRequestedSessionIdFromUrl() {
318     return HttpServletRequestCompat.isRequestedSessionIdFromUrl(peer);
319   }
320   /**
321    * @deprecated Servlet API 2.1
322    *                
323    * {@inheritDoc}
324    * @see javax.servlet.ServletRequest#getRealPath(java.lang.String)
325    */
326   public java.lang.String getRealPath(java.lang.String a) {
327     return HttpServletRequestCompat.getRealPath(peer, a);
328   }
329 
330   //
331   // Servlet API 2.1 extensions
332   //
333   
334   /**
335    * {@inheritDoc}
336    * @see javax.servlet.http.HttpServletRequest#getUserPrincipal()
337    */
338   public java.security.Principal getUserPrincipal() {
339     return HttpServletRequestCompat.getUserPrincipal(peer);
340   }
341   /**
342    * {@inheritDoc}
343    * @see javax.servlet.http.HttpServletRequest#getContextPath()
344    */
345   public java.lang.String getContextPath() {
346     return HttpServletRequestCompat.getContextPath(peer);
347   }
348   /**
349    * {@inheritDoc}
350    * @see javax.servlet.http.HttpServletRequest#getHeaders(java.lang.String)
351    */
352   public java.util.Enumeration getHeaders(java.lang.String a) {
353     return HttpServletRequestCompat.getHeaders(peer, a);
354   }
355   /**
356    * {@inheritDoc}
357    * @see javax.servlet.http.HttpServletRequest#getSession()
358    */
359   public javax.servlet.http.HttpSession getSession() {
360     return HttpServletRequestCompat.getSession(peer);
361   }
362   /**
363    * {@inheritDoc}
364    * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromURL()
365    */
366   public boolean isRequestedSessionIdFromURL() {
367     return HttpServletRequestCompat.isRequestedSessionIdFromURL(peer);
368   }
369   
370   //
371   // Servlet API 2.2 extensions
372   //
373   
374   /**
375    * {@inheritDoc}
376    * @see javax.servlet.http.HttpServletRequest#isUserInRole(java.lang.String)
377    */
378   public boolean isUserInRole(java.lang.String a) {
379     return HttpServletRequestCompat.isUserInRole(peer, a);
380   }
381   /**
382    * {@inheritDoc}
383    * @see javax.servlet.ServletRequest#getAttributeNames()
384    */
385   public Enumeration getAttributeNames() {
386     return HttpServletRequestCompat.getAttributeNames(peer);
387   }
388   /**
389    * {@inheritDoc}
390    * @see javax.servlet.ServletRequest#getLocale()
391    */
392   public Locale getLocale()  {
393     return HttpServletRequestCompat.getLocale(peer);
394   }
395   /**
396    * {@inheritDoc}
397    * @see javax.servlet.ServletRequest#getLocales()
398    */
399   public Enumeration getLocales() {
400     return HttpServletRequestCompat.getLocales(peer);
401   }
402 
403   /**
404    * {@inheritDoc}
405    * @see javax.servlet.ServletRequest#getRequestDispatcher(java.lang.String)
406    */
407   public RequestDispatcher getRequestDispatcher(String arg) {
408     return HttpServletRequestCompat.getRequestDispatcher(peer, arg);
409   }
410   /**
411    * {@inheritDoc}
412    * @see javax.servlet.ServletRequest#isSecure()
413    */
414   public boolean isSecure() {
415     return HttpServletRequestCompat.isSecure(peer);
416   }
417   /**
418    * {@inheritDoc}
419    * @see javax.servlet.ServletRequest#removeAttribute(java.lang.String)
420    */
421   public void removeAttribute(String arg) {
422     HttpServletRequestCompat.removeAttribute(peer, arg);
423   }
424   /**
425    * {@inheritDoc}
426    * @see javax.servlet.ServletRequest#setAttribute(java.lang.String, java.lang.Object)
427    */
428   public void setAttribute(String arg1, Object arg2) {
429     HttpServletRequestCompat.setAttribute(peer, arg1, arg2);
430   }
431   
432   //
433   //  Servlet 2.3 extensions
434   //
435 
436   /**
437    * {@inheritDoc}
438    * @see javax.servlet.http.HttpServletRequest#getRequestURL()
439    */
440   public StringBuffer getRequestURL() {
441     return HttpServletRequestCompat.getRequestURL(peer);
442   }
443 
444   /**
445    * {@inheritDoc}
446    * @see javax.servlet.ServletRequest#setCharacterEncoding(java.lang.String)
447    */
448   public void setCharacterEncoding (String s) {
449     HttpServletRequestCompat.setCharacterEncoding(peer,s);
450   }
451 
452   /**
453    * {@inheritDoc}
454    * @see javax.servlet.ServletRequest#getParameterMap()
455    */
456   public Map getParameterMap () {
457     return HttpServletRequestCompat.getParameterMap(peer);
458   }
459 
460   //
461   //  Servlet 2.4 extensions
462   //
463 
464   /**
465    * {@inheritDoc}
466    * @see javax.servlet.ServletRequest#getLocalAddr()
467    */
468   public String getLocalAddr() {
469     return HttpServletRequestCompat.getLocalAddr(peer);
470   }
471 
472   /**
473    * {@inheritDoc}
474    * @see javax.servlet.ServletRequest#getLocalName()
475    */
476   public String getLocalName() {
477     return HttpServletRequestCompat.getLocalName(peer);    
478   }
479 
480   /**
481    * {@inheritDoc}
482    * @see javax.servlet.ServletRequest#getLocalPort()
483    */
484   public int getLocalPort() {
485     return HttpServletRequestCompat.getLocalPort(peer);    
486   }
487 
488   /**
489    * {@inheritDoc}
490    * @see javax.servlet.ServletRequest#getRemotePort()
491    */
492   public int getRemotePort() {
493     return HttpServletRequestCompat.getRemotePort(peer);        
494   }
495 
496   //
497   //  There are no Servlet 2.5 extensions
498   //
499 }
500 
501 
502 
503 
504 
505 
506 
507 
508 
509 
510 
511 
512 
513 
514