]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/ListArg.java
7c270eef4ed37cd6a427d29d152668e04fd8e701
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.ant / src / main / java / org / argeo / slc / ant / spring / ListArg.java
1 package org.argeo.slc.ant.spring;
2
3 import java.util.List;
4 import java.util.Vector;
5
6 import org.argeo.slc.core.SlcException;
7
8 /** List of overrides */
9 public class ListArg {
10 private List<OverrideArg> list = new Vector<OverrideArg>();
11
12 /** Creates override sub tag. */
13 public OverrideArg createOverride() {
14 OverrideArg overrideArg = new OverrideArg();
15 list.add(overrideArg);
16 return overrideArg;
17 }
18
19 /** Gets as list of objects. */
20 public List<Object> getAsObjectList(List<Object> originalList) {
21 if (originalList != null && originalList.size() != list.size()) {
22 throw new SlcException("Cannot merge lists of different sizes.");
23 }
24
25 List<Object> objectList = new Vector<Object>(list.size());
26
27 for (int i = 0; i < list.size(); i++) {
28 OverrideArg arg = list.get(i);
29
30 if (originalList != null)
31 arg.setOriginal(originalList.get(i));
32
33 objectList.add(arg.getObject());
34 }
35 return objectList;
36 }
37 }