1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.tiles.request.collection;
22
23 import java.util.Collection;
24 import java.util.Map;
25 import java.util.Set;
26
27 import org.apache.tiles.request.attribute.HasAddableKeys;
28
29
30
31
32
33
34 public class AddableParameterMap extends ReadOnlyEnumerationMap<String> {
35
36
37
38
39 private HasAddableKeys<String> request;
40
41
42
43
44
45
46 public AddableParameterMap(HasAddableKeys<String> request) {
47 super(request);
48 this.request = request;
49 }
50
51
52 public Set<Map.Entry<String, String>> entrySet() {
53 return new AddableParameterEntrySet();
54 }
55
56
57 public String put(String key, String value) {
58 String oldValue = request.getValue(key);
59 request.setValue(key, value);
60 return oldValue;
61 }
62
63
64
65 public void putAll(Map<? extends String, ? extends String> map) {
66 for (Map.Entry<? extends String, ? extends String> entry : map
67 .entrySet()) {
68 request.setValue(entry.getKey(), entry.getValue());
69 }
70 }
71
72
73
74
75
76 private class AddableParameterEntrySet extends ReadOnlyEnumerationMap<String>.ReadOnlyEnumerationMapEntrySet {
77
78 @Override
79 public boolean add(java.util.Map.Entry<String, String> e) {
80 request.setValue(e.getKey(), e.getValue());
81 return true;
82 }
83
84 @Override
85 public boolean addAll(
86 Collection<? extends java.util.Map.Entry<String, String>> c) {
87 for (Map.Entry<String, String> entry : c) {
88 request.setValue(entry.getKey(), entry.getValue());
89 }
90 return true;
91 }
92 }
93 }