1 package com.atlassian.core.util.map;
2
3 import org.apache.commons.collections.map.HashedMap;
4
5 import java.util.Map;
6
7
8
9
10
11
12 public class EasyMap
13 {
14 public static Map build()
15 {
16 return createMap(1);
17 }
18
19 public static Map build(Object key1, Object value1)
20 {
21 Map map = createMap(1);
22
23 map.put(key1, value1);
24
25 return map;
26 }
27
28 public static Map build(Object key1, Object value1, Object key2, Object value2)
29 {
30 Map map = createMap(2);
31
32 map.put(key1, value1);
33 map.put(key2, value2);
34
35 return map;
36 }
37
38 public static Map build(Object key1, Object value1, Object key2, Object value2, Object key3, Object value3)
39 {
40 Map map = createMap(3);
41
42 map.put(key1, value1);
43 map.put(key2, value2);
44 map.put(key3, value3);
45
46 return map;
47 }
48
49 public static Map build(Object key1, Object value1, Object key2, Object value2, Object key3, Object value3,
50 Object key4, Object value4)
51 {
52 Map map = createMap(4);
53
54 map.put(key1, value1);
55 map.put(key2, value2);
56 map.put(key3, value3);
57 map.put(key4, value4);
58
59 return map;
60 }
61
62 public static Map build(Object key1, Object value1, Object key2, Object value2, Object key3, Object value3,
63 Object key4, Object value4, Object key5, Object value5)
64 {
65 Map map = createMap(5);
66
67 map.put(key1, value1);
68 map.put(key2, value2);
69 map.put(key3, value3);
70 map.put(key4, value4);
71 map.put(key5, value5);
72
73 return map;
74 }
75
76 public static Map build(Object key1, Object value1, Object key2, Object value2, Object key3, Object value3,
77 Object key4, Object value4, Object key5, Object value5, Object key6, Object value6)
78 {
79 Map map = createMap(6);
80
81 map.put(key1, value1);
82 map.put(key2, value2);
83 map.put(key3, value3);
84 map.put(key4, value4);
85 map.put(key5, value5);
86 map.put(key6, value6);
87
88 return map;
89 }
90
91 public static Map build(Object key1, Object value1, Object key2, Object value2, Object key3, Object value3,
92 Object key4, Object value4, Object key5, Object value5, Object key6, Object value6, Object key7,
93 Object value7)
94 {
95 Map map = createMap(7);
96
97 map.put(key1, value1);
98 map.put(key2, value2);
99 map.put(key3, value3);
100 map.put(key4, value4);
101 map.put(key5, value5);
102 map.put(key6, value6);
103 map.put(key7, value7);
104
105 return map;
106 }
107
108 public static Map createMap(int size)
109 {
110 return new HashedMap(size);
111 }
112
113
114
115
116
117
118
119
120 public static Map build(Object... objects)
121 {
122 Map map = createMap(1);
123
124 if (objects.length % 2 != 0)
125 {
126 throw new RuntimeException("The number of parameters should be even when building a map");
127 }
128
129 for (int i = 0; i < objects.length; i = (i + 2))
130 {
131 Object key = objects[i];
132 Object value = objects[i+1];
133 map.put(key, value);
134 }
135
136 return map;
137 }
138 }