public ParameterTable copy() { ParameterTable ptable = new ParameterTable(); ptable.setParent(parent); synchronized (table) { for (Parameter p : table) { ptable.add(p.getName(), p.getValue()); } } return ptable; }
/** * 查找变量 * * @param name 变量名 * @param walkup 是否查找父表 * @return {@link Parameter} */ public Parameter get(String name, boolean walkup) { if (name == null) return null; synchronized (table) { for (Parameter p : table) { if (p == null) { LogUtil.warn("ERROR list p= null: " + table); } if (p != null && p.getName().equals(name)) { return p; } } } if (walkup && parent != null) { return parent.get(name, walkup); } return null; }