All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edi.rule.work.interfaces.IJSRuleCrudModel Maven / Gradle / Ivy

package edi.rule.work.interfaces;

import edi.rule.config.JSRuleMessage;
import edi.rule.extend.interfaces.IJSRuleActionModel;
import edi.rule.model.JSRuleAction;
import edi.rule.util.ZSObject;
import edi.rule.util.ZSRule;
import edi.rule.work.constant.ZSSign;
import edi.rule.work.custom.JSRuleException;

/**
 * @author 摩拉克斯
 * @date 2022年2月28日 下午2:32:05
 * 

crud模型的顶级接口,实现了动作模型接口,除非对框架十分熟悉,否则不建议开发者直接实现该接口并重写其中的方法 */ public interface IJSRuleCrudModel> extends IJSRuleActionModel{ /** *

执行crud模型的action处理 * @return action处理后的结果 * */ Object startCrudModel(A action); /** *

检查映射类信息以及对应的角色信息是否具有crud操作权限 * @apiNote 由于crud操作是可以回滚的,因此检查放在了model层而非service层 * */ void checkCrudPermit(A action); /** *

默认处理动作模型接口的start方法,对crud类型的操作进行检查等 * @return action处理后的结果 * */ @Override default Object start(A action) { if (ZSRule.modelToJson(action.getModel()).indexOf(ZSSign.QUOTE)!=-1 || (action.getDefine() != null && ZSObject.objectToJson(action.getDefine().viewParams).indexOf(ZSSign.QUOTE)!=-1)) { throw new JSRuleException(action.cache.name, JSRuleMessage.read("illegal.character.when.crud.request"),String.valueOf(ZSSign.QUOTE)); } checkCrudPermit(action); return startCrudModel(action); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy