Example #1
0
 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());
 }
Example #2
0
  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);
    }
  }