From e9bfa1396ff47d171b3052a606e0931e6f93cc9c Mon Sep 17 00:00:00 2001
From: houzhongjian <houzhongyi@126.com>
Date: 星期四, 10 四月 2025 12:05:23 +0800
Subject: [PATCH] 还原framework代码

---
 iailab-framework/iailab-common-web/src/main/java/com/iailab/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/iailab-framework/iailab-common-web/src/main/java/com/iailab/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java b/iailab-framework/iailab-common-web/src/main/java/com/iailab/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java
new file mode 100644
index 0000000..c5ecf05
--- /dev/null
+++ b/iailab-framework/iailab-common-web/src/main/java/com/iailab/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java
@@ -0,0 +1,38 @@
+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<T extends Annotation>
+        implements DesensitizationHandler<T> {
+
+    @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);
+
+}

--
Gitblit v1.9.3