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

import com.fasterxml.jackson.databind.JsonNode;

/**
 * 数据源解析策略接口
 * 使用策略模式,每种数据源类型实现独立的解析逻辑
 */
public interface DataSourceStrategy {

    /**
     * 解析数据源,返回填充值
     *
     * @param sourceFilter 数据源过滤条件(JSON)
     * @param sortStrategy 排序策略
     * @param context 解析上下文
     * @return 填充值(通常是URL)
     */
    String resolve(JsonNode sourceFilter, String sortStrategy, DataSourceContext context);

    /**
     * 获取支持的数据源类型
     */
    String getSupportedType();
}
