package org.nutz.ioc.java; import org.nutz.ioc.IocMaking; import org.nutz.ioc.Iocs; import org.nutz.lang.meta.Pair; public class IocObjectNode extends ChainNode { private String name; private Class<?> type; public IocObjectNode(String name) { Pair<Class<?>> p = Iocs.parseName(name); this.name = p.getName(); this.type = p.getValue(); } protected Object getValue(IocMaking ing, Object obj) throws Exception { return ing.getIoc().get(type, name); } @Override protected String asString() { if (null == type) return "$" + name; return "$" + name + ":" + type.getName(); } }