Java
Rules
规则管理器,负责管理业务对象的验证规则执行,跟踪已违反的规则并在验证完成时通知监听器。
- Type class (final class)
- Package:
com.euonia.osba.rules - Author: damon(zhaorong@outlook.com)
Constructors¶
Rules(RuleCheckable target)¶
构造方法,创建指定目标对象的规则管理器。
Parameters:
- target (RuleCheckable): 待验证的目标对象
Methods¶
getRuleManager(): RuleManager¶
获取目标对象的规则管理器,必要时进行初始化。
Returns: RuleManager — 目标对象对应的规则管理器
addRule(Rule rule): void¶
向目标对象的规则管理器中添加验证规则。
Parameters:
- rule (Rule): 要添加的验证规则
getBrokenRules(): BrokenRuleCollection¶
获取规则检查过程中已识别的违反规则集合。
Returns: BrokenRuleCollection — 已违反规则的集合
isValid(): boolean¶
基于当前的已违反规则集合判断目标对象是否有效。
Returns: boolean — 若目标对象有效返回 true,否则返回 false
hasRunningRules(): boolean¶
检查当前是否有正在为目标对象运行的规则。
Returns: boolean — 若有规则正在运行返回 true,否则返回 false
isSuppressRuleChecking(): boolean¶
获取目标对象的规则检查当前是否被抑制。当规则检查被抑制时,不会执行任何规则,对象将被视为有效。
Returns: boolean — 若规则检查被抑制返回 true,否则返回 false
setSuppressRuleChecking(boolean suppressRuleChecking): void¶
设置目标对象的规则检查当前是否被抑制。当规则检查被抑制时,不会执行任何规则,对象将被视为有效。
Parameters:
- suppressRuleChecking (boolean): true 表示抑制规则检查,false 表示启用规则检查
addValidationCompleteListener(Consumer<BrokenRuleCollection> listener): void¶
添加验证完成时的通知监听器。监听器将接收已违反规则的集合作为参数。
Parameters:
- listener (Consumer<BrokenRuleCollection>): 要添加的监听器
removeValidationCompleteListener(Consumer<BrokenRuleCollection> listener): void¶
移除验证完成时的通知监听器。
Parameters:
- listener (Consumer<BrokenRuleCollection>): 要移除的监听器
checkObjectRules(): List<String>¶
检查目标对象的所有验证规则,并相应更新已违反规则的集合。该方法返回受影响的属性名称列表。
Returns: List<String> — 受影响的属性名称列表
addDataAnnotationRules(): void¶
扫描目标对象上的数据注解并向规则管理器添加对应的 DataAnnotationRule。