package com.ycwl.basic.puzzle.fill.condition;

import com.fasterxml.jackson.databind.JsonNode;

/**
 * 条件评估策略接口
 * 使用策略模式,每种条件类型实现独立的评估逻辑,方便测试和扩展
 */
public interface ConditionStrategy {

    /**
     * 评估条件是否匹配
     *
     * @param conditionValue 条件值(JSON)
     * @param context 评估上下文
     * @return true-匹配, false-不匹配
     */
    boolean evaluate(JsonNode conditionValue, ConditionContext context);

    /**
     * 获取支持的条件类型
     */
    String getSupportedType();
}
