/** * */ package jframe.core.conf; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import jframe.core.Frame; /** * @ThreadSafe * @author dzh * @date Sep 23, 2013 1:44:06 PM * @since 1.0 */ public class FrameConfig implements Config { private ConcurrentMap<String, String> _config = new ConcurrentHashMap<String, String>(20); // private Collection<ConfigListener> _listeners = new // LinkedList<ConfigListener>(); private Frame _frame; /* * (non-Javadoc) * * @see jframe.core.conf.Config#addConfig(java.lang.String, * java.lang.String) */ public String setConfig(String key, String value) { return _config.put(key, value); } /* * (non-Javadoc) * * @see jframe.core.conf.Config#getConfig(java.lang.String) */ public String getConfig(String key) { return _config.get(key); } /* * (non-Javadoc) * * @see jframe.core.conf.Config#getConfig(java.lang.String, * java.lang.String) */ public String getConfig(String key, String defVal) { String v = _config.get(key); return v == null ? defVal : v; } /* * (non-Javadoc) * * @see jframe.core.conf.Config#modifyConfig(java.lang.String, * java.lang.String) */ public String modifyConfig(String key, String value) { return _config.put(key, value); } /* * (non-Javadoc) * * @see jframe.core.conf.Config#clearConfig() */ public void clearConfig() { _config.clear(); } /* * (non-Javadoc) * * @see jframe.core.conf.Config#setFrame(jframe.core.Frame) */ public void setFrame(Frame frame) { _frame = frame; } /* * (non-Javadoc) * * @see jframe.core.conf.Config#getFrame() */ public Frame getFrame() { return _frame; } public Map<String, String> getConfig() { return new HashMap<String, String>(_config); } public boolean contain(String k) { return _config.containsKey(k); } }