com.github.lexshcherbinin.kleekai.common.ValueStorage Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of klee-kai-common Show documentation
Show all versions of klee-kai-common Show documentation
Project to ease pain of test automation
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 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) {
return getInstance().variables.get(name).toString();
}
/**
* Возвращает сохранённое значение.
*
* @param name - ключ значения
* @return - возвращает сохранённое значение типа Integer
*/
public static Integer getInteger(String name) {
Object value = getInstance().variables.get(name);
if (value instanceof String) {
return Integer.parseInt(value.toString());
}
return (Integer) getInstance().variables.get(name);
}
/**
* Возвращает сохранённое значение.
*
* @param name - ключ значения
* @return - возвращает сохранённое значение типа Double
*/
public static Double getDouble(String name) {
Object value = getInstance().variables.get(name);
if (value instanceof String) {
return Double.parseDouble(value.toString());
}
return (Double) getInstance().variables.get(name);
}
public static void clear() {
getInstance().variables.clear();
}
public static Object remove(String key) {
return getInstance().variables.remove(key);
}
}