Initial project
This commit is contained in:
36
src/main/java/com/imyeyu/config/BaseConverter.java
Normal file
36
src/main/java/com/imyeyu/config/BaseConverter.java
Normal file
@ -0,0 +1,36 @@
|
||||
package com.imyeyu.config;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* @author 夜雨
|
||||
* @version 2024-04-12 00:44
|
||||
*/
|
||||
public abstract class BaseConverter<T, K> {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
K serialize0(Field field, Object t) {
|
||||
return serialize(field, (T) t);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
T deserialize0(Field field, Object data) {
|
||||
return deserialize(field, (K) data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当组件值需要写入配置时的转换,默认直接 toString
|
||||
*
|
||||
* @param t 组件值类型
|
||||
* @return 配置值
|
||||
*/
|
||||
protected abstract K serialize(Field field, T t);
|
||||
|
||||
/**
|
||||
* 当获取配置并即将设置到组件时调用
|
||||
*
|
||||
* @param data 配置值
|
||||
* @return 返回值
|
||||
*/
|
||||
protected abstract T deserialize(Field field, K data);
|
||||
}
|
||||
Reference in New Issue
Block a user