package edu.isi.karma.config;
import java.util.concurrent.ConcurrentHashMap;
public class UIConfigurationRegistry {
private static UIConfigurationRegistry singleton = new UIConfigurationRegistry();
private final ConcurrentHashMap<String, UIConfiguration> contextIdToUIConfiguration = new ConcurrentHashMap<>();
public static UIConfigurationRegistry getInstance() {
return singleton;
}
public UIConfiguration register(String contextId)
{
if(!contextIdToUIConfiguration.containsKey(contextId))
{
UIConfiguration uiConfiguration = new UIConfiguration(contextId);
uiConfiguration.loadConfig();
contextIdToUIConfiguration.putIfAbsent(contextId, uiConfiguration);
}
return contextIdToUIConfiguration.get(contextId);
}
public UIConfiguration getUIConfiguration(String contextId) {
return register(contextId);
}
public void deregister(String contextId) {
contextIdToUIConfiguration.remove(contextId);
}
}