diff --git a/configuration/src/main/java/de/muehlencord/shared/configuration/DefaultConfiguration.java b/configuration/src/main/java/de/muehlencord/shared/configuration/DefaultConfiguration.java index 2e7f1a1..b89d8e2 100644 --- a/configuration/src/main/java/de/muehlencord/shared/configuration/DefaultConfiguration.java +++ b/configuration/src/main/java/de/muehlencord/shared/configuration/DefaultConfiguration.java @@ -24,8 +24,8 @@ public class DefaultConfiguration implements Configuration * creates a new instance of a configuration */ public DefaultConfiguration() { - parameterMap = new HashMap, V>(); - parameterNameMap = new HashMap>(); + parameterMap = new HashMap<>(); + parameterNameMap = new HashMap<>(); } /** @@ -60,7 +60,7 @@ public class DefaultConfiguration implements Configuration */ @Override public void validateConfiguration() throws ConfigurationException { - List missingMandatoryParameters = new LinkedList(); + List missingMandatoryParameters = new LinkedList<>(); for (Parameter p : parameterMap.keySet()) { if ((!validateParameter(p)) && (!missingMandatoryParameters.contains(p))) { missingMandatoryParameters.add(p); @@ -87,6 +87,22 @@ public class DefaultConfiguration implements Configuration throw new ConfigurationException("Parameter " + p.getName() + " not defined"); } } + + /** + * overrides parameter map with given map + * + * @param map map to use + * @throws ConfigurationException if the parameter is not defined + */ + public void setParameterValue (Map, V> map) throws ConfigurationException { + for ( Parameter key : map.keySet()) { + if (parameterMap.containsKey(key)) { + parameterMap.put (key, map.get(key)); + } else { + throw new ConfigurationException("Parameter " + key.getName() + " not defined"); + } + } + } /** * sets the value of parameter with given name