package com.qingyun.service.compare.strategy;

import com.qingyun.service.compare.DiffRegion;
import com.qingyun.service.domain.ContractCompareTask;

import java.util.List;

/**
 * 统一的文件对比处理接口
 */
public interface FileComparisonStrategy {
    /**
     * 提取文件内容（如文本、结构等）
     */
    void extractContent(ContractCompareTask task);

    /**
     * 执行比对逻辑
     * @return DiffRegion 列表
     */
    List<DiffRegion> compare(ContractCompareTask task);

    /**
     * 组装并保存比对结果
     */
    void assembleAndSaveResult(ContractCompareTask task, List<DiffRegion> diffRegions);


    boolean supports(String fileExtension); // 新增：判断是否支持该扩展名
}
