package top.r3944realms.docchecktoolrefactored.io.reader;

/**
 * 目录文件读取器工厂类
 */
public class CatalogFileReaderFactory {
    /**
     * 根据文件扩展名创建相应的文件读取器
     *
     * @param filePath 文件路径
     * @return 文件读取器实例
     */
    public static CatalogFileReader createReader(String filePath) {
        if (filePath == null || filePath.isEmpty()) {
            throw new IllegalArgumentException("文件路径不能为空");
        }

        String lowerPath = filePath.toLowerCase();
        if (lowerPath.endsWith(".xlsx") || lowerPath.endsWith(".xls")) {
            return new ExcelFileReader();
        } else if (lowerPath.endsWith(".xml")) {
            return new XmlFileReader();
        } else if (lowerPath.endsWith(".dbf")) {
            return new DbfFileReader();
        } else {
            throw new IllegalArgumentException("不支持的文件格式: " + filePath);
        }
    }
}
