
edi.rule.extend.classes.JSRuleDefaultExtend Maven / Gradle / Ivy
package edi.rule.extend.classes;
import java.util.List;
import java.util.Set;
import edi.rule.core.JSRuleGlobalArgs;
import edi.rule.core.JSRuleArgsVessel;
import edi.rule.work.interfaces.IJSRequestHandler;
import edi.rule.work.interfaces.IJSRuleRoleHandler;
import edi.rule.model.JSBody;
import edi.rule.work.cache.JSRuleCacheExtend;
import edi.rule.work.cache.JSRuleMappingInfo;
/**
* @author 摩拉克斯
* @date 2022年4月7日 下午2:03:25
* 继承此类可实现自定义扩展处理,包括自定义初始化body,返回当前用户角色集合,以及自定义映射对象信息等
*
自定义映射对象信息通常用于某些特殊场景的需求,如对于映射对象的获取渠道是通过数据库或xml文件中得来的,而非通过扫描class类注解得到的
*/
public class JSRuleDefaultExtend extends JSRuleCacheExtend implements IJSRequestHandler, IJSRuleRoleHandler {
/**
*
body处理器,每次请求的body对象会传入到此处理器中,可自定义处理返回一个新的body对象用于初始化全局变量中的body对象
* @param globalArgs 全局参数,在全局变量{@link JSRuleArgsVessel}中除全局参数globalArgs外还有body请求参数和action结果参数
* @return 处理后的新的body对象
* */
@Override
public JSBody> handleBody(JSRuleGlobalArgs globalArgs) {return globalArgs.getBody();}
/**
*
角色处理器,用于返回每次请求时当前用户的角色集合
* @param globalArgs 全局参数,在全局变量{@link JSRuleArgsVessel}中除全局参数globalArgs外还有body请求参数和action结果参数
* @return 返回当前请求的用户角色集合
* */
@Override
public Set handleRole(JSRuleGlobalArgs globalArgs) {return globalArgs.getRoles();}
/**
* 如果不重写此方法则默认为不进行自定义缓存处理
* */
@Override
protected List buildMappingsInfo() {return null;}
}