package com.changhong.autoform.core.tool;
|
|
import java.util.LinkedHashMap;
|
import java.util.Map;
|
|
public class ThreadTool {
|
|
private ThreadTool(){
|
|
}
|
|
private static final ThreadLocal<Map<Keys, Object>> THREAD_DATA = new ThreadLocal<Map<Keys, Object>>();
|
|
/**
|
* 添加临时数据
|
* @Title: set
|
* @Description: TODO[]
|
* @param @param key
|
* @param @param val 设定文件
|
* @return void 返回类型
|
* @throws
|
*/
|
public static void set(Keys key, Object val){
|
if(THREAD_DATA.get() == null){
|
init();
|
set(key, val);
|
}else{
|
THREAD_DATA.get().put(key, val);
|
}
|
}
|
|
/**
|
* 初始化储存结构
|
* @Title: init
|
* @Description: TODO[]
|
* @param 设定文件
|
* @return void 返回类型
|
* @throws
|
*/
|
private static void init(){
|
THREAD_DATA.set(new LinkedHashMap<>());
|
}
|
|
/**
|
* 获得val
|
* @Title: get
|
* @param @param key
|
* @param @param clazz
|
* @param @param defaultValue
|
* @param @return 设定文件
|
* @return T 返回类型
|
* @throws
|
*/
|
@SuppressWarnings("unchecked")
|
public static <T> T get(Keys<T> key){
|
if(null != THREAD_DATA.get()){
|
T result = (T) THREAD_DATA.get().get(key);
|
return result == null ? key.getDefaultValue() : result;
|
}else{
|
return key.getDefaultValue();
|
}
|
}
|
|
public static void clear(){
|
if(THREAD_DATA.get() != null){
|
THREAD_DATA.get().clear();
|
}
|
}
|
}
|