package com.centreproject.system.service.job.context;

/**
 * 通用类型转换器接口
 * @author zhonglei.xu
 * @param <T> 目标类型
 */
public interface TypeConverter<T> {
    /**
     * 将字符串默认值转换为目标类型
     * @param defaultValue 字符串形式的默认值（如 "0"、"100.5"）
     * @return 转换后的目标类型对象
     * @throws NumberFormatException 转换失败时抛出
     */
    T convert(String defaultValue);

    /**
     * 获取转换器支持的目标类型（用于动态匹配）
     */
    Class<T> getTargetType();
}