package com.iailab.framework.desensitize.core.regex.handler; import com.iailab.framework.desensitize.core.base.handler.DesensitizationHandler; import java.lang.annotation.Annotation; /** * 正则表达式脱敏处理器抽象类,已实现通用的方法 * * @author gaibu */ public abstract class AbstractRegexDesensitizationHandler implements DesensitizationHandler { @Override public String desensitize(String origin, T annotation) { String regex = getRegex(annotation); String replacer = getReplacer(annotation); return origin.replaceAll(regex, replacer); } /** * 获取注解上的 regex 参数 * * @param annotation 注解信息 * @return 正则表达式 */ abstract String getRegex(T annotation); /** * 获取注解上的 replacer 参数 * * @param annotation 注解信息 * @return 待替换的字符串 */ abstract String getReplacer(T annotation); }