com.github.lexshcherbinin.kleekai.common.ValueStorage Maven / Gradle / Ivy
package com.github.lexshcherbinin.kleekai.common;
import java.util.HashMap;
import java.util.Map;
/**
* Реализация сохранения значений.
*/
public final class ValueStorage {
private static final ThreadLocal varThread = ThreadLocal.withInitial(ValueStorage::new);
private final Map variables = new HashMap<>();
private ValueStorage() {
}
private static ValueStorage getInstance() {
return varThread.get();
}
public static void clear() {
getInstance().variables.clear();
}
public static Object remove(String key) {
return getInstance().variables.remove(key);
}
public static void saveValue(String name, Object value) {
getInstance().variables.put(name, value);
}
public static Object getValue(String name) {
return getInstance().variables.get(name);
}
/**
* Возвращает сохранённое значение.
*
* @param name - ключ значения
* @return - возвращает сохранённое значение типа String
*/
public static String getString(String name) {
Object value = getValue(name);
if (value != null) {
return value.toString();
} else {
return null;
}
}
/**
* Возвращает сохранённое значение.
*
* @param name - ключ значения
* @return - возвращает сохранённое значение типа Integer
*/
public static Integer getInteger(String name) {
Object value = getValue(name);
if (value != null) {
if (value instanceof String) {
return Integer.parseInt(value.toString());
} else {
return (Integer) value;
}
} else {
return null;
}
}
/**
* Возвращает сохранённое значение.
*
* @param name - ключ значения
* @return - возвращает сохранённое значение типа Double
*/
public static Double getDouble(String name) {
Object value = getValue(name);
if (value != null) {
if (value instanceof String) {
return Double.parseDouble(value.toString());
} else {
return (Double) value;
}
} else {
return null;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy