example-web/src/main/java/ru/ulstu/util/PropertyManager.java
2022-06-07 16:39:22 +04:00

58 lines
1.5 KiB
Java

package ru.ulstu.util;
import java.io.InputStream;
import java.util.Properties;
public class PropertyManager {
public static final PropertyManager INSTANCE = new PropertyManager();
private final static String CONFIG_NAME = "config.properties";
private enum ConfigKey {
FILE_STORAGE("fileStorage"),
TARGET_STORAGE("targetStorage"),
DB_NAME("dbName"),
DB_USER("dbUser"),
DB_PASSWORD("dbPassword"),
DB_HOST("dbHost"),
DB_PORT("dbPort");
private String keyName;
ConfigKey(String key) {
this.keyName = key;
}
public String getKeyName() {
return keyName;
}
}
private Properties properties;
private PropertyManager() {
properties = new Properties();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
try (InputStream resourceStream = loader.getResourceAsStream(CONFIG_NAME)) {
properties.load(resourceStream);
} catch (Exception ex) {
System.out.println(String.format("Config read error: %s", ex.getMessage()));
}
}
public static PropertyManager getInstance() {
return INSTANCE;
}
public String getFileStorage() {
return properties.getProperty(ConfigKey.FILE_STORAGE.getKeyName());
}
public String getTargetStorage() {
return properties.getProperty(ConfigKey.TARGET_STORAGE.getKeyName());
}
public void getProperty(String key) {
properties.getProperty(key);
}
}