package eu.europa.esig.dss.client.http.proxy;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class ProxyDaoImpl implements ProxyDao {
protected Map<ProxyKey, ProxyPreference> proxyPreferences = new HashMap<ProxyKey, ProxyPreference>();
public void setHttpsHost(String httpsHost) {
update(ProxyKey.HTTPS_HOST, httpsHost);
}
public void setHttpsPort(String httpsPort) {
update(ProxyKey.HTTPS_PORT, httpsPort);
}
public void setHttpsUser(String httpsUser) {
update(ProxyKey.HTTPS_USER, httpsUser);
}
public void setHttpsPassword(String httpsPassword) {
update(ProxyKey.HTTPS_PASSWORD, httpsPassword);
}
public void setHttpsExclude(String httpsExclude) {
update(ProxyKey.HTTPS_EXCLUDE, httpsExclude);
}
public void setHttpsEnable(String httpsEnable) {
update(ProxyKey.HTTPS_ENABLED, httpsEnable);
}
public void setHttpHost(String httpHost) {
update(ProxyKey.HTTP_HOST, httpHost);
}
public void setHttpPort(String httpPort) {
update(ProxyKey.HTTP_PORT, httpPort);
}
public void setHttpUser(String httpUser) {
update(ProxyKey.HTTP_USER, httpUser);
}
public void setHttpPassword(String httpPassword) {
update(ProxyKey.HTTP_PASSWORD, httpPassword);
}
public void setHttpExclude(String httpExclude) {
update(ProxyKey.HTTP_EXCLUDE, httpExclude);
}
public void setHttpEnable(String httpEnable) {
update(ProxyKey.HTTP_ENABLED, httpEnable);
}
private void update(ProxyKey key, String value) {
ProxyPreference proxyPreference = proxyPreferences.get(key);
if (proxyPreference == null) {
proxyPreference = new ProxyPreference(key, value);
proxyPreferences.put(key, proxyPreference);
} else {
proxyPreference.setValue(value);
}
}
@Override
public ProxyPreference get(ProxyKey id) {
return proxyPreferences.get(id);
}
@Override
public Collection<ProxyPreference> getAll() {
return proxyPreferences.values();
}
@Override
public void update(ProxyPreference entity) {
proxyPreferences.put(entity.getProxyKey(), entity);
}
}