package com.jarvis.cache.clone; import java.lang.reflect.Method; import java.lang.reflect.Type; /** * 深度复制 * @author jiayu.qiu */ public interface ICloner { /** * 深度复制Object * @param obj Object * @param type obj的类型,方便以json来处理时,提升性能,如果获取不到type,则可以为null * @return Object * @throws Exception */ Object deepClone(Object obj, final Type type) throws Exception; /** * 深度复制 Method 中的参数 * @param method Method * @param args 参数 * @return 参数 * @throws Exception */ Object[] deepCloneMethodArgs(Method method, Object[] args) throws Exception; }