*/
public Object inject(Mirror<?> mirror) {
Object obj = mirror.born();
for (Entry<String, ObjcetNaviNode> entry : child.entrySet()) {
ObjcetNaviNode onn = entry.getValue();
Injecting in = mirror.getInjecting(entry.getKey());
if (onn.isLeaf()) {
try {
ParamConvertor pc = Params.makeParamConvertor(mirror.getField(entry.getKey()).getType());
in.inject(obj, pc.convert(onn.getValue()));
// in.inject(obj, onn.getValue());
} catch (NoSuchFieldException e) {
continue;
}
continue;
}
// 不是叶子结点,不能直接注入
Mirror<?> fieldMirror;
try {
fieldMirror = Mirror.me(mirror.getField(entry.getKey()).getType());
in.inject(obj, onn.inject(fieldMirror));
}
catch (NoSuchFieldException e) {
continue;//TODO 是不是应该log一下呢?
}
}