KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > ibatis > struts > httpmap > BaseHttpMap


1 package com.ibatis.struts.httpmap;
2
3 import java.util.*;
4
5 /**
6  * <p/>
7  * Date: Mar 11, 2004 10:39:51 PM
8  *
9  * @author Clinton Begin
10  */

11 public abstract class BaseHttpMap implements Map {
12
13   public int size() {
14     return keySet().size();
15   }
16
17   public boolean isEmpty() {
18     return keySet().size() == 0;
19   }
20
21   public boolean containsKey(Object key) {
22     return keySet().contains(key);
23   }
24
25   public boolean containsValue(Object value) {
26     return values().contains(value);
27   }
28
29   public Object get(Object key) {
30     return getValue(key);
31   }
32
33   public Object put(Object key, Object value) {
34     Object old = getValue(key);
35     putValue(key, value);
36     return old;
37   }
38
39   public Object remove(Object key) {
40     Object old = getValue(key);
41     removeValue(key);
42     return old;
43   }
44
45   public void putAll(Map map) {
46     Iterator i = map.keySet().iterator();
47     while (i.hasNext()) {
48       Object key = i.next();
49       putValue(key, map.get(key));
50     }
51   }
52
53   public void clear() {
54     Iterator i = keySet().iterator();
55     while (i.hasNext()) {
56       removeValue(i.next());
57     }
58   }
59
60   public Set keySet() {
61     Set keySet = new HashSet();
62     Enumeration enum = getNames();
63     while (enum.hasMoreElements()) {
64       keySet.add(enum.nextElement());
65     }
66     return keySet;
67   }
68
69   public Collection values() {
70     List list = new ArrayList();
71     Enumeration enum = getNames();
72     while (enum.hasMoreElements()) {
73       list.add(getValue(enum.nextElement()));
74     }
75     return list;
76   }
77
78   public Set entrySet() {
79     return new HashSet();
80   }
81
82
83   protected abstract Enumeration getNames();
84
85   protected abstract Object getValue(Object key);
86
87   protected abstract void putValue(Object key, Object value);
88
89   protected abstract void removeValue(Object key);
90
91 }
92
Popular Tags