public void addExpressionParam(String paramName) { ParamInfo paramInfo = null; if (exprParams == null) { exprParams = new HashMap(); } else { paramInfo = (ParamInfo) exprParams.get(paramName); } if (paramInfo == null) { paramInfo = new ParamInfo(paramName, exprParamType); exprParams.put(paramName, paramInfo); } paramInfo.addParamIndex(paramIndexGenerator.getNewIndex()); }
public void copyExpressionParams(int count) { if (exprParams != null && count > 0) { int paramCount = 0; // calculate param count first for (Iterator it = exprParams.values().iterator(); it.hasNext(); ) { ParamInfo info = (ParamInfo) it.next(); paramCount += info.getIndexList().size(); } for (Iterator it = exprParams.values().iterator(); it.hasNext(); ) { ParamInfo info = (ParamInfo) it.next(); List l = (List) ((ArrayList) info.getIndexList()).clone(); for (int i = 0, n = l.size(); i < n; i++) { int index = ((Integer) l.get(i)).intValue(); for (int j = 1; j <= count; j++) { info.addParamIndex(index + j * paramCount); } } } paramIndexGenerator.increase(paramCount * count); } }