package cz.coffei.foodo.data.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
/**
* Created by jtrantin on 29.8.15.
*/
public class Properties {
private Map<String, String> properties;
private static Properties instance;
private Logger log = Logger.getLogger(this.getClass().getName());
private Properties() {
this.properties = new HashMap<>();
// load the properties file
String configFilename = "config.properties";
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(configFilename);
java.util.Properties props = new java.util.Properties();
try {
props.load(inputStream);
} catch (IOException e) {
log.warning("Unable to load properties file!");
}
Set<String> keys = props.stringPropertyNames();
for(String key : keys) {
properties.put(key, props.getProperty(key));
}
}
public String get(String key) {
return this.properties.get(key);
}
public String get(String key, String defaultValue) {
return this.properties.getOrDefault(key, defaultValue);
}
public Map<String, String> getProperties() {
return Collections.unmodifiableMap(this.properties);
}
public static Properties getInstance() {
if(instance == null) instance = new Properties();
return instance;
}
}