package com.ema.common.tools.sensitive;

import com.github.houbb.sensitive.word.bs.SensitiveWordBs;

import java.util.List;


public interface SensitiveWordService {

    SensitiveWordBs getSensitiveWordBs();

    /**
     * 刷新敏感词库
     */
    void refresh();

    /**
     * 添加敏感词
     *
     * @param words 敏感词列表
     */
    void add(List<String> words);

    /**
     * 是否包含敏感词
     *
     * @param text 文本
     * @return 是否包含
     */
    boolean contains(String text);

    /**
     * 替换敏感词
     *
     * @param text 文本
     * @return 替换后的文本
     */
    String replace(String text);

    /**
     * 查找所有匹配的敏感词
     *
     * @param text 文本
     * @return 匹配的敏感词列表
     */
    List<String> findAll(String text);
}
