package com.ruoyi.credit.service;

import com.ruoyi.credit.domain.ValidationRule;

/**
 * 验证器接口
 * 所有验证器都需要实现此接口
 * 
 * @author ruoyi
 * @date 2025-01-05
 */
public interface RuleValidator {
    
    /**
     * 执行验证
     * 
     * @param rule 验证规则
     * @param config 规则配置
     * @param context 验证上下文
     * @return 验证结果
     */
    ValidationResult validate(ValidationRule rule, RuleConfig config, ValidationContext context);
    
    /**
     * 获取验证器名称
     * 
     * @return 验证器名称
     */
    String getValidatorName();
    
    /**
     * 获取支持的规则类型
     * 
     * @return 规则类型
     */
    String getSupportedRuleType();
}