e20d7994094b4e5e54e7412824aa2531ff996b1c
[nucalgen] / nucalgen / src / main / java / jp / satomichan / nucalgen / NutritionColumnHolder.java
1 package jp.satomichan.nucalgen;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.apache.commons.configuration.XMLConfiguration;
7
8 public class NutritionColumnHolder {
9
10         private List<NutritionColumn> nutritionColumnList;
11
12         List<NutritionColumn> getNutritionColumnList() {
13                 return this.nutritionColumnList;
14         }
15
16         void addNutritionColumn(NutritionColumn aNutritionColumn) {
17                 this.nutritionColumnList.add(aNutritionColumn);
18         }
19
20         NutritionColumnHolder(XMLConfiguration aConfig){
21                 this.nutritionColumnList = new ArrayList<NutritionColumn>();
22
23                 List<Object> names = aConfig.getList("cols.column.name");
24                 List<Object> dispNames = aConfig.getList("cols.column.disp_name");
25                 List<Object> aliases = aConfig.getList("cols.column.alias");
26                 List<Object> formats = aConfig.getList("cols.column.format");
27                 List<Object> units = aConfig.getList("cols.column.unit");
28                 List<Object> useRawValue = aConfig.getList("cols.column.use_raw_value");
29                 List<Object> useSum = aConfig.getList("cols.column.use_sum");
30
31                 for (Object aName : names) {
32                         NutritionColumn nc = new NutritionColumn();
33                         nc.setName((String) aName);
34                         nc.setDispName((String) dispNames.get(names.indexOf(aName)));
35                         nc.setAlias((String) aliases.get(names.indexOf(aName)));
36                         nc.setFormat((String) formats.get(names.indexOf(aName)));
37                         nc.setUnit((String) units.get(names.indexOf(aName)));
38                         nc.setUseRawValue(((String)useRawValue.get(names.indexOf(aName))).equalsIgnoreCase("true"));
39                         nc.setUseSum(((String)useSum.get(names.indexOf(aName))).equalsIgnoreCase("true"));
40
41                         this.addNutritionColumn(nc);
42                 }
43
44         }
45
46
47         public String toString() {
48                 String ret = "";
49                 for(NutritionColumn aColumn : this.getNutritionColumnList()) {
50                         ret += aColumn + "\n";
51                 }
52
53                 return ret;
54         }
55
56
57
58 }