火力规则:返回平台以及组件
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package com.solution.rule.handler;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.solution.rule.domain.RuleParam;
|
||||
|
||||
/**
|
||||
* 规则链抽象类
|
||||
*/
|
||||
public abstract class AbstractRuleChainHandler {
|
||||
|
||||
|
||||
private AbstractRuleChainHandler nextHandler;
|
||||
|
||||
|
||||
/**
|
||||
* 执行过滤方法
|
||||
* @param ruleParam
|
||||
* @return
|
||||
*/
|
||||
public abstract RuleParam doHandler(RuleParam ruleParam);
|
||||
|
||||
|
||||
/**
|
||||
* 执行下一个处理器
|
||||
* @param ruleParam
|
||||
* @return
|
||||
*/
|
||||
public RuleParam doNextHandler(RuleParam ruleParam){
|
||||
if(ObjectUtil.isEmpty(nextHandler) || ObjectUtil.isNotEmpty(ruleParam)){
|
||||
return ruleParam;
|
||||
}
|
||||
return nextHandler.doHandler(ruleParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置下游handler
|
||||
* @param nextHandler
|
||||
*/
|
||||
public void setNextHandler(AbstractRuleChainHandler nextHandler) {
|
||||
this.nextHandler = nextHandler;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user