package com.imyeyu.config; import java.lang.reflect.Field; /** * @author 夜雨 * @version 2024-04-12 00:44 */ public abstract class BaseConverter { @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); }