Package org.aoju.bus.sensitive
Class Provider<T>
java.lang.Object
org.aoju.bus.sensitive.Provider<T>
- Type Parameters:
T- 参数类型
脱敏接口
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanalreadyBeSentisived(Object object) 是否已经是脱敏过的内容了static <T> Tclone(T object) 深度复制 1.json(T object, Annotation annotation) 返回脱敏后的 json 1.on(T object, Annotation annotation, boolean clone) 对象进行脱敏操作 原始对象不变,返回脱敏后的新对象 1.static StringparseMaptoJSONString(Map<String, Object> params) 将map转化为json字符串parseToObjectMap(String jsonStr) 将json字符串转化为StringObject类型的map
-
Constructor Details
-
Provider
public Provider()
-
-
Method Details
-
clone
public static <T> T clone(T object) 深度复制 1. 为了避免深拷贝要求用户实现 clone 和 序列化的相关接口 2. 为了避免使用 dozer 这种比较重的工具 3. 自己实现暂时工作量比较大暂时使用 fastJson 作为实现深度拷贝的方式
- Type Parameters:
T- 泛型- Parameters:
object- 对象- Returns:
- 深拷贝后的对象
-
alreadyBeSentisived
是否已经是脱敏过的内容了- Parameters:
object- 原始数据- Returns:
- 是否已经脱敏了
-
parseToObjectMap
将json字符串转化为StringObject类型的map- Parameters:
jsonStr- json字符串- Returns:
- map
-
parseMaptoJSONString
将map转化为json字符串- Parameters:
params- 参数集合- Returns:
- json
-
on
对象进行脱敏操作 原始对象不变,返回脱敏后的新对象 1. 为什么这么设计? 不能因为脱敏,就导致代码中的对象被改变 否则代码逻辑会出现问题- Parameters:
object- 原始对象annotation- 注解信息clone- 是否克隆- Returns:
- 脱敏后的新对象
-
json
返回脱敏后的 json 1. 避免 desCopy 造成的对象新建的性能浪费- Parameters:
object- 对象annotation- 注解- Returns:
- json
-