package tech.easyflow.common.util;

/**
 * 搜索关键词处理工具。
 */
public final class SearchKeywordUtil {

    private SearchKeywordUtil() {
    }

    /**
     * 去除搜索关键词首尾空格，空值统一为空字符串。
     *
     * @param keyword 原始搜索关键词
     * @return 规范化后的关键词
     */
    public static String normalize(String keyword) {
        return keyword == null ? "" : keyword.trim();
    }

    /**
     * 构造将 LIKE 通配符按普通字符处理的包含匹配模式。
     *
     * @param keyword 搜索关键词
     * @return 可参数化传入 LIKE 的匹配模式
     */
    public static String literalContainsPattern(String keyword) {
        String normalizedKeyword = normalize(keyword);
        String escapedKeyword = normalizedKeyword
                .replace("\\", "\\\\")
                .replace("%", "\\%")
                .replace("_", "\\_");
        return "%" + escapedKeyword + "%";
    }
}
