package net.ion.bleujin.bean; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import net.ion.craken.node.ReadNode; import net.ion.framework.util.Debug; public class ProxyHandler implements InvocationHandler{ private Class<? extends ProxyIf> clz ; private ReadNode node ; public ProxyHandler(Class<? extends ProxyIf> clz, ReadNode node) { this.clz = clz ; this.node = node ; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Constructor<? extends ProxyIf> cons = clz.getDeclaredConstructor(); ProxyIf instance = cons.newInstance(); for (Field field : clz.getDeclaredFields()) { Debug.line(field.getName(), field.getType()) ; } return method.invoke(instance, args); } }