KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > efs > openreports > util > SingleValueMap


1 /*
2  * WebWork, Web Application Framework
3  *
4  * Distributable under Apache license.
5  * See terms of license at opensource.org
6  */

7 package org.efs.openreports.util;
8
9 import java.io.Serializable JavaDoc;
10 import java.util.*;
11
12 /**
13  * A Map that can be used to wrap a map whose values are object arrays.
14  * This wrapper will then allow one to access only the first object of those arrays.
15  *
16  * A common usage is to use this wrap the Map received through the ParameterAware interface.
17  *
18  * @see ParameterAware
19  * @author Rickard Öberg (rickard@middleware-company.com)
20  */

21 public class SingleValueMap implements Map, Serializable JavaDoc
22 {
23    private Map m; // Backing Map
24

25    public SingleValueMap(Map m)
26    {
27       if (m == null)
28          throw new NullPointerException JavaDoc();
29       this.m = m;
30    }
31
32    public int size()
33    {
34       return m.size();
35    }
36
37    public boolean isEmpty()
38    {
39       return m.isEmpty();
40    }
41
42    public boolean containsKey(Object JavaDoc key)
43    {
44       return m.containsKey(key);
45    }
46
47    public boolean containsValue(Object JavaDoc value)
48    {
49       return m.containsValue(value);
50    }
51
52    public Object JavaDoc get(Object JavaDoc key)
53    {
54       Object JavaDoc[] value = (Object JavaDoc[])m.get(key);
55       return value == null ? null : ((Object JavaDoc[])value)[0];
56    }
57
58    public Object JavaDoc put(Object JavaDoc key, Object JavaDoc value)
59    {
60       Object JavaDoc[] val = (Object JavaDoc[])m.put(key, new Object JavaDoc[] { value });
61       return val == null ? null : ((Object JavaDoc[])val)[0];
62    }
63
64    public Object JavaDoc remove(Object JavaDoc key)
65    {
66       Object JavaDoc[] val = (Object JavaDoc[])m.remove(key);
67       return val == null ? null : ((Object JavaDoc[])val)[0];
68    }
69
70    public void putAll(Map map)
71    {
72       throw new UnsupportedOperationException JavaDoc();
73    }
74
75    public void clear()
76    {
77       m.clear();
78    }
79
80    public Set keySet()
81    {
82       return m.keySet();
83    }
84
85    public Set entrySet()
86    {
87       return m.entrySet();
88    }
89
90    public Collection values()
91    {
92       Collection vals = m.values();
93       Collection realVals = new ArrayList(vals.size());
94       for (Iterator iterator = vals.iterator(); iterator.hasNext();)
95       {
96          Object JavaDoc o = (Object JavaDoc) iterator.next();
97          if (o != null)
98          {
99             realVals.add(((Object JavaDoc[])o)[0]);
100          }
101       }
102
103       return realVals;
104    }
105 }
106
Popular Tags