package org.apache.haox.config;
import java.util.ArrayList;
import java.util.List;
public class ConfigObject {
protected static enum VALUE_TYPE { PROPERTY, LIST, CONFIG };
private VALUE_TYPE valueType;
private Object value;
public ConfigObject(String value) {
this.value = value;
this.valueType = VALUE_TYPE.PROPERTY;
}
public ConfigObject(String[] values) {
List<String> valuesList = new ArrayList<String>();
for (String v : values) {
valuesList.add(v);
}
this.value = valuesList;
this.valueType = VALUE_TYPE.LIST;
}
public ConfigObject(List<String> values) {
this.value = new ArrayList<String>(values);
this.valueType = VALUE_TYPE.LIST;
}
public ConfigObject(Config value) {
this.value = value;
this.valueType = VALUE_TYPE.CONFIG;
}
public String getPropertyValue() {
String result = null;
if (valueType == VALUE_TYPE.PROPERTY) {
result = (String) value;
}
return result;
}
public List<String> getListValues() {
List<String> results = null;
if (valueType == VALUE_TYPE.LIST) {
results = (List<String>) value;
}
return results;
}
public Config getConfigValue() {
Config result = null;
if (valueType == VALUE_TYPE.CONFIG) {
result = (Config) value;
}
return result;
}
}