package org.marketcetera.module;
import org.marketcetera.util.misc.ClassVersion;
import java.util.Map;
import java.util.Hashtable;
/* $License$ */
/**
* A mock configuration provider for testing. This class may be used
* when unit testing module implementations that export MXBean attributes.
*
* @author anshul@marketcetera.com
* @version $Id: MockConfigProvider.java 16154 2012-07-14 16:34:05Z colin $
* @since 1.5.0
*/
@ClassVersion("$Id: MockConfigProvider.java 16154 2012-07-14 16:34:05Z colin $")
public class MockConfigProvider implements ModuleConfigurationProvider {
@Override
public String getDefaultFor(ModuleURN inURN, String inAttribute)
throws ModuleException {
return mDefaults.get(getKey(inURN, inAttribute));
}
@Override
public void refresh() throws ModuleException {
}
/**
* Adds a default attribute value.
*
* @param inURN the URN.
* @param inAttribute the attribute name.
* @param inValue the attribute value.
*/
public void addDefault(ModuleURN inURN,
String inAttribute, String inValue) {
mDefaults.put(getKey(inURN, inAttribute), inValue);
}
/**
* Removes the default attribute value.
*
* @param inURN the URN.
* @param inAttribute the attribute value.
*
* @return the old attribute value, if found.
*/
public String removeDefault(ModuleURN inURN, String inAttribute) {
return mDefaults.remove(getKey(inURN, inAttribute));
}
/**
* Removes all the default values.
*/
public void clear() {
mDefaults.clear();
}
private static String getKey(ModuleURN inURN, String inAttribute) {
return inURN.getValue() + ';' + inAttribute;
}
private final Map<String, String> mDefaults = new Hashtable<String, String>();
}