package org.nutz.ioc.weaver; import org.nutz.ioc.IocMaking; import org.nutz.ioc.ValueProxy; import org.nutz.lang.Mirror; import org.nutz.lang.inject.Injecting; public class FieldInjector { public static FieldInjector create(Mirror<?> mirror, String fieldName, ValueProxy vp) { FieldInjector fi = new FieldInjector(); fi.valueProxy = vp; fi.inj = mirror.getInjecting(fieldName); return fi; } private ValueProxy valueProxy; private Injecting inj; private FieldInjector() {} void inject(IocMaking ing, Object obj) { Object value = valueProxy.get(ing); inj.inject(obj, value); } }