package cn.stylefeng.team.meta.sdk;

import cn.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.team.meta.api.CreateTableSqlParseApi;
import cn.stylefeng.team.meta.api.enums.SqlParseTypeEnum;
import cn.stylefeng.team.meta.sdk.exception.SqlParseExceptionEnum;
import cn.stylefeng.team.meta.sdk.parser.MySqlCreateTableSqlParser;

public class CreateTableSqlParseFactory {

    public static CreateTableSqlParseApi createApi(SqlParseTypeEnum sqlParseTypeEnum) {
        if (sqlParseTypeEnum == SqlParseTypeEnum.MYSQL) {
            return new MySqlCreateTableSqlParser();
        }
        throw new ServiceException(SqlParseExceptionEnum.DB_NOT_SUPPORT);
    }

    public static CreateTableSqlParseApi createApi(String sqlParseType) {
        if (StrUtil.isEmpty(sqlParseType)) {
            throw new ServiceException(SqlParseExceptionEnum.DB_NOT_SUPPORT);
        }
        if (SqlParseTypeEnum.MYSQL.name().equalsIgnoreCase(sqlParseType)) {
            return new MySqlCreateTableSqlParser();
        }
        throw new ServiceException(SqlParseExceptionEnum.DB_NOT_SUPPORT);
    }

}
