]>
git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/main/java/org/argeo/slc/ant/spring/MapArg.java
eb45276448b7ce9b49a897e592b1245deb3b2a23
1 package org
.argeo
.slc
.ant
.spring
;
5 import java
.util
.TreeMap
;
6 import java
.util
.Vector
;
8 import org
.apache
.tools
.ant
.BuildException
;
10 import org
.argeo
.slc
.core
.SlcException
;
13 private List
<EntryArg
> entries
= new Vector
<EntryArg
>();
14 private Map
<String
, Object
> map
= new TreeMap
<String
, Object
>();
16 public EntryArg
createEntry() {
17 EntryArg arg
= new EntryArg();
22 public Map
<String
, Object
> getMap() {
23 if (map
.size() == 0) {
24 for (EntryArg arg
: entries
) {
25 String key
= arg
.getKey();
26 if (map
.containsKey(key
)) {
27 throw new SlcException("Key '" + key
+ "' already set.");
29 map
.put(key
, arg
.getValueStr());
36 public static class EntryArg
{
38 private Object valueStr
;
39 private OverrideArg overrideArg
;
41 public String
getKey() {
45 public void setKey(String key
) {
49 public Object
getValueStr() {
50 if (overrideArg
!= null) {
51 return overrideArg
.getObject();
52 } else if (valueStr
!= null) {
55 throw new BuildException("Value not set.");
59 public void setValue(String value
) {
61 this.valueStr
= value
;
64 public OverrideArg
createOverride() {
66 overrideArg
= new OverrideArg();
70 private void check() {
71 if (valueStr
!= null || overrideArg
!= null) {
72 throw new BuildException("Value already set");