Files
timi-config/src/main/java/com/imyeyu/config/BaseConverter.java
2025-07-13 17:58:12 +08:00

37 lines
750 B
Java

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);
}