KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > webapp > http > servlet > CopyingRequestAttributesMap


1 package com.icesoft.faces.webapp.http.servlet;
2
3 import javax.servlet.ServletRequest JavaDoc;
4 import java.util.Enumeration JavaDoc;
5 import java.util.HashMap JavaDoc;
6 import java.util.Iterator JavaDoc;
7 import java.util.Map JavaDoc;
8
9 public class CopyingRequestAttributesMap extends HashMap JavaDoc {
10     private ServletRequest JavaDoc request;
11
12     public CopyingRequestAttributesMap(ServletRequest JavaDoc request) {
13         this.request = request;
14         Enumeration JavaDoc e = request.getAttributeNames();
15         while (e.hasMoreElements()) {
16             String JavaDoc key = String.valueOf(e.nextElement());
17             Object JavaDoc value = request.getAttribute(key);
18             super.put(key, value);
19         }
20     }
21
22     public Object JavaDoc put(Object JavaDoc o, Object JavaDoc o1) {
23         request.setAttribute(String.valueOf(o), o1);
24         return super.put(o, o1);
25     }
26
27     public void putAll(Map JavaDoc map) {
28         Iterator JavaDoc i = map.entrySet().iterator();
29         while (i.hasNext()) {
30             Map.Entry JavaDoc entry = (Map.Entry JavaDoc) i.next();
31             request.setAttribute(String.valueOf(entry.getKey()), entry.getValue());
32         }
33         super.putAll(map);
34     }
35
36     public Object JavaDoc remove(Object JavaDoc o) {
37         request.removeAttribute((String JavaDoc) o);
38         return super.remove(o);
39     }
40
41     public void clear() {
42         Enumeration JavaDoc e = request.getAttributeNames();
43         while (e.hasMoreElements()) {
44             request.removeAttribute((String.valueOf(e.nextElement())));
45         }
46         super.clear();
47     }
48 }
49
Popular Tags