package jadex.bridge; import jadex.commons.SUtil; import java.util.HashMap; import java.util.Map; /** * Default model value provider. */ public class ModelValueProvider implements IModelValueProvider { //-------- constants -------- /** Constant for no configuration selected. */ public static final String ANY_CONFIG = "any_config"; //-------- attributes -------- /** The values. */ protected Map values; //-------- constructors -------- /** * Create a new provider. */ public ModelValueProvider() { } /** * Create a new provider. */ public ModelValueProvider(Object value) { this(SUtil.createHashMap(new Object[]{ANY_CONFIG}, new Object[]{value})); } /** * Create a new provider. */ public ModelValueProvider(Map values) { this.values = values; } //-------- methods -------- /** * Get the value. * @return The value. */ public Object getValue(String configname) { Object ret = null; if(values!=null) { ret = values.get(configname!=null && values.containsKey(configname)? configname: ANY_CONFIG); } return ret; } /** * Set the value. * @param value The value to set. */ public void setValue(Object value) { if(values==null) values = new HashMap(); values.put(ANY_CONFIG, value); } /** * Set the value. * @param value The value to set. */ public void setValue(String configname, Object value) { if(values==null) values = new HashMap(); values.put(configname, value); } /** * Get the values. * @return the values. */ public Map getValues() { return values; } /** * Set the values. * @param values The values to set. */ public void setValues(Map values) { this.values = values; } }