package uk.ac.imperial.lsds.seep.config;
import uk.ac.imperial.lsds.seep.config.ConfigDef.Importance;
import uk.ac.imperial.lsds.seep.config.ConfigDef.Type;
import uk.ac.imperial.lsds.seep.config.ConfigDef.Validator;
public class ConfigKey {
private static final Object NO_DEFAULT_VALUE = new String("");
public final String name;
public final Type type;
public final String documentation;
public final Object defaultValue;
public final Validator validator;
public final Importance importance;
public ConfigKey(String name, Type type, Object defaultValue, Validator validator, Importance importance, String documentation) {
super();
this.name = name;
this.type = type;
this.defaultValue = defaultValue;
this.validator = validator;
this.importance = importance;
if (this.validator != null)
this.validator.ensureValid(name, defaultValue);
this.documentation = documentation;
}
public String getName(){
return this.name;
}
public boolean hasDefault() {
return this.defaultValue != NO_DEFAULT_VALUE;
}
}