]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/main/java/org/argeo/slc/ant/spring/MapArg.java
Introduce context at ant level
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / ant / spring / MapArg.java
1 package org.argeo.slc.ant.spring;
2
3 import java.util.List;
4 import java.util.Map;
5 import java.util.TreeMap;
6 import java.util.Vector;
7
8 import org.argeo.slc.core.SlcException;
9
10 public class MapArg {
11 private List<EntryArg> entries = new Vector<EntryArg>();
12 private Map<String, Object> map = new TreeMap<String, Object>();
13
14 public EntryArg createEntry() {
15 EntryArg arg = new EntryArg();
16 entries.add(arg);
17 return arg;
18 }
19
20 public Map<String, Object> getMap() {
21 if (map.size() == 0) {
22 for (EntryArg arg : entries) {
23 String key = arg.getKey();
24 if (map.containsKey(key)) {
25 throw new SlcException("Key '" + key + "' already set.");
26 } else {
27 map.put(key, arg.getValue());
28 }
29 }
30 }
31 return map;
32 }
33
34 public static class EntryArg {
35 private String key;
36 private Object value;
37
38 public String getKey() {
39 return key;
40 }
41
42 public void setKey(String key) {
43 this.key = key;
44 }
45
46 public Object getValue() {
47 return value;
48 }
49
50 public void setValue(String value) {
51 this.value = value;
52 }
53
54 }
55 }