com.yixan.base.controlling.IControllingVars Maven / Gradle / Ivy
package com.yixan.base.controlling;
import java.util.Date;
import java.util.List;
import com.yixan.base.common.api.oplog.model.OperateTracesBean;
import com.yixan.base.common.api.system.model.IUser;
/**
* 操作控制的线程变量
*
* @author zhaohuihua
* @version V1.0 2016年6月8日
*/
public interface IControllingVars {
/** 当前登录用户(用于非WEB端发起的数据隔离) **/
void setOperator(IUser operator);
/** 当前登录用户(用于非WEB端发起的数据隔离) **/
IUser getOperator();
/** 设置当前线程的入口权限 **/
void setPermission(String permission);
/** 获取当前线程的入口权限 **/
String getPermission();
/** 判断某个字段是否启用数据隔离 **/
boolean useDataIsolation(String field);
/** 禁用某个字段的数据隔离 **/
void disableDataIsolation(String field, String... fields);
/** 启用某个字段的数据隔离 **/
void enableDataIsolation(String field, String... fields);
/** 增加操作日志 **/
void addItem(OperateTracesBean item);
/** 获取操作日志 **/
List getItems(boolean clear);
/** 增加数据库调用次数 **/
void addDbInvokeTimes();
/** 获取数据库调用次数 **/
Integer getDbInvokeTimes(boolean clear);
/** 获取本次操作的开始时间 **/
Date getStartTime(boolean clear);
/** 开始一次新的操作, 清空操作日志, 记录开始时间 **/
void start();
/** 清空线程变量数据 **/
void clear();
/** 根据KEY保存数据 **/
void put(String group, String key, Object value);
/** 根据KEY获取数据 **/
Object get(String group, String key);
/** 根据KEY获取数据 **/
T get(String group, String key, Class clazz);
/** 根据KEY获取数据 **/
List getList(String group, String key, Class clazz);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy