public Am toAm() { // 递归提炼出所有 Am 的名称 Map<String, Am> map = _reg_name(new HashMap<String, Am>()); // 转换 Am root = map.get(name); _toAm(root, map); // 返回 return root; }
private void _toAm(Am am, Map<String, Am> map) { am.depth = depth; am.name = Strings.isBlank(name) ? null : name; am.cs = cs; am.behaviors = Ams.parseBehaviors(behaviors); am.next = map.get(nextName); if (null != children && !children.isEmpty()) { am.children = new Am[children.size()]; for (int i = 0; i < am.children.length; i++) { AmBean amb = children.get(i); Am cld = map.get(amb.name); if (null == cld) cld = new Am(); amb._toAm(cld, map); am.children[i] = cld; cld.parent = am; } } }