1 package jp.satomichan.nucalgen;
3 import java.util.ArrayList;
4 import java.util.Collection;
7 import org.apache.commons.configuration.ConfigurationException;
8 import org.apache.commons.configuration.XMLConfiguration;
10 public class NutritionColumnHolder {
12 private List<NutritionColumn> nutritionColumnList;
14 List<NutritionColumn> getNutritionColumnList() {
15 return this.nutritionColumnList;
18 void addNutritionColumn(NutritionColumn aNutritionColumn) {
19 this.nutritionColumnList.add(aNutritionColumn);
22 NutritionColumnHolder(String columnsXmlFileName){
23 XMLConfiguration aConfig = new XMLConfiguration();
24 aConfig.setDelimiterParsingDisabled(true);
27 aConfig.load(columnsXmlFileName);
28 } catch (ConfigurationException e) {
29 // TODO 自動生成された catch ブロック
33 this.nutritionColumnList = new ArrayList<NutritionColumn>();
35 for (int index = 0; index < getRepetition(aConfig,"cols.column.no"); index++) {
36 final String colIndex = "cols.column(" + index + ").";
38 NutritionColumn nc = new NutritionColumn();
39 nc.setName(aConfig.getString(colIndex + "name", ""));
40 nc.setTable(aConfig.getString(colIndex + "table", ""));
41 nc.setDispName(aConfig.getString(colIndex + "disp_name", ""));
42 nc.setAlias(aConfig.getString(colIndex + "alias", ""));
43 nc.setFormula(aConfig.getString(colIndex + "formula", ""));
44 nc.setFormat(aConfig.getString(colIndex + "format", ""));
45 nc.setUnit(aConfig.getString(colIndex + "unit"));
46 nc.setUseRawValue(aConfig.getString(colIndex + "use_raw_value", "").equalsIgnoreCase("true"));
47 nc.setUseSum(aConfig.getString(colIndex + "use_sum", "").equalsIgnoreCase("true"));
49 this.addNutritionColumn(nc);
55 public String toString() {
57 for(NutritionColumn aColumn : this.getNutritionColumnList()) {
58 ret += aColumn + "\n";
66 public int indexOf(String alias) {
67 for(int i = 0; i <= this.nutritionColumnList.size(); i++) {
68 if(this.nutritionColumnList.get(i).getAlias().equals(alias)) {
77 public List<String> getNutritionAliasList(){
78 List<String> retAliasList = new ArrayList<String>();
80 for(NutritionColumn aColumn : this.getNutritionColumnList()) {
81 if(aColumn.getAlias().length() > 0) {
82 retAliasList.add(aColumn.getAlias());
90 private static int getRepetition(
91 final XMLConfiguration config,
93 Object obj = config.getProperty(path);
97 } else if (obj instanceof Collection) {
98 return ((Collection) obj).size();