cn.featherfly.conversion.Convertor Maven / Gradle / Ivy
package cn.featherfly.conversion;
import cn.featherfly.common.lang.GenericType;
/**
*
* 转换器
*
*
* @param 类型
* @author 钟冀
*/
public interface Convertor {
/**
*
* 返回转换器支持的转换源的类型
*
*
* @return 转换器对应的类型
*/
Class getSourceType();
/**
*
* 返回转换器支持的转换目标的类型
*
*
* @return 转换器对应的类型
*/
Class getTargetType();
/**
*
* 转换源对象到目标类型对象
*
*
* @param source 需要转换的对象
* @param genericType 需要转换的对象的上下文属性
* @param GenericType子类泛型
* @return 字符串
*/
> T sourceToTarget(S source, GS genericType);
/**
*
* 转换目标对象到源类型对象
*
*
* @param target 需要转换的对象
* @param genericType 指定对象的上下文属性
* @param GenericType子类泛型
* @return 源类型对象
*/
> S targetToSource(T target, GT genericType);
}