构建BETWEEN语句中的值部分<br>
开头必须加空格，类似：" ? AND ?" 或者 " 1 AND 2"

@param conditionStrBuilder 条件语句构建器
@param paramValues 参数集合，用于参数占位符对应参数回填
324321
private void buildValuePartForBETWEEN(StringBuilder conditionStrBuilder, List<Object> paramValues) {
		// BETWEEN x AND y 的情况，两个参数
		if (isPlaceHolder()) {
			// 使用条件表达式占位符
			conditionStrBuilder.append(" ?");
			if(null != paramValues) {
				paramValues.add(this.value);
			}
		} else {
			// 直接使用条件值
			conditionStrBuilder.append(CharUtil.SPACE).append(this.value);
		}

		// 处理 AND y
		conditionStrBuilder.append(StrUtil.SPACE).append(LogicalOperator.AND.toString());
		if (isPlaceHolder()) {
			// 使用条件表达式占位符
			conditionStrBuilder.append(" ?");
			if(null != paramValues) {
				paramValues.add(this.secondValue);
			}
		} else {
			// 直接使用条件值
			conditionStrBuilder.append(CharUtil.SPACE).append(this.secondValue);
		}
	}
1171077
private void _buildInBinding(
                    final InBinding binding,
                    final StringBuilder stmt,
                    final List<Object> params
                    )
    {
        // It's OK if null is contained.
//        if (n_values == 0) {
//            throw new SearchException( "invalid InBinding: empty value list" );
//        }


        // T.p
        _buildProperty( binding.getProperty(), stmt );
        //throws SearchException

        // T.p IN LIST(
        stmt.append( _IN_LIST_ ).append( "(" );

        // T.p IN LIST(v_1, v_2, ..., v_n
        boolean  containsNull = false;
        int  n_valuesAdded = 0;

        for (Object  value : binding.getValues()) {
            if (value == null) {
                containsNull = true;
            } else {
                if (n_valuesAdded > 0) {
                    stmt.append( "," );
                }
                _buildParameter( value, stmt, params );
                n_valuesAdded++;
            }
        }

        if (binding.isNullContained()  ||  containsNull) {
            if (n_valuesAdded > 0) {
                stmt.append( "," );
            }
            // T.p IN LIST(v_1, v_2, ..., v_n, nil
            stmt.append( _NIL_ );
        }

        // T.p IN LIST(v_1, v_2, ..., v_n)
        stmt.append( ")" );
    }
935460
SortedMap<String, String> readParams() {

        SortedMap<String, String> result = new TreeMap<String, String>();

        for (Component component : m_paramContainer) {
            if (component instanceof ParamLine) {
                ParamLine paramLine = (ParamLine)component;
                String keyAndValue = paramLine.getValue();
                int eqPos = keyAndValue.indexOf("=");
                if (eqPos >= 0) {
                    String key = keyAndValue.substring(0, eqPos);
                    String value = keyAndValue.substring(eqPos + 1);
                    result.put(key, value);
                }
            }

        }
        return result;
    }
530122
@SuppressWarnings("deprecation")
    public BUILDER setAllowedValues(String ... allowedValues) {
        assert allowedValues!= null;
        this.allowedValues = new ModelNode[allowedValues.length];
        for (int i = 0; i < allowedValues.length; i++) {
            this.allowedValues[i] = new ModelNode(allowedValues[i]);
        }
        return (BUILDER) this;
    }
577526
public UriComponentsBuilder queryParams(MultiValueMap<String, String> params) {
		Assert.notNull(params, "'params' must not be null");
		this.queryParams.putAll(params);
		return this;
	}
265450
private String[] readParamValues() throws BuildException {
        final ArrayList<String> prop = new ArrayList<>();
        for (final ParamElem p : params) {
            if (!p.isValid()) {
                throw new BuildException("Incomplete parameter");
            }
            if (isValid(getProject(), getLocation(), p.getIf(), p.getUnless())) {
                final int idx = Integer.parseInt(p.getName()) - 1;
                if (idx >= prop.size()) {
                    prop.ensureCapacity(idx + 1);
                    while (prop.size() < idx + 1) {
                        prop.add(null);
                    }
                }
                prop.set(idx, p.getValue());
            }
        }
        return prop.toArray(new String[0]);
    }
194980
public void setPreparedResultUpdateProperties(Object[] parameterValues) {

        if (navigator.getSize() == 1) {
            ((RowSetNavigatorClient) navigator).setData(0, parameterValues);
        } else {
            navigator.clear();
            navigator.add(parameterValues);
        }
    }
866444
private String setParamsters(String value, final Object[] params) {
		for (int i = 0; i < params.length; i++) {
			value = value.replaceAll("\\{" + i + "\\}", params[i].toString());
		}
		return value;
	}
906675
public static <S, D> Condition<S, D> and(Condition<S, D> condition1, Condition<S, D> condition2) {
    Assert.notNull(condition1, "condition1");
    Assert.notNull(condition2, "condition2");
    return new AndCondition<S, D>(condition1, condition2);
  }
663902
@Override
    public boolean parseParameters(Object params)
    {
        if (params == null || !(params instanceof BuildBattleDecorator))
            return false;

        this.params = (BuildBattleDecorator) params;

        this.sourceBounds = this.params.getGoalStructureBounds();
        this.destBounds = this.params.getPlayerStructureBounds();
        this.delta = new Vec3i(destBounds.getMin().getX() - sourceBounds.getMin().getX(),
                               destBounds.getMin().getY() - sourceBounds.getMin().getY(),
                               destBounds.getMin().getZ() - sourceBounds.getMin().getZ());
        
        this.structureVolume = volumeOfBounds(this.sourceBounds);
        assert(this.structureVolume == volumeOfBounds(this.destBounds));
        this.dest = new ArrayList<IBlockState>(Collections.nCopies(this.structureVolume, (IBlockState)null));
        this.source = new ArrayList<IBlockState>(Collections.nCopies(this.structureVolume, (IBlockState)null));
        
        DrawBlockBasedObjectType tickBlock = this.params.getBlockTypeOnCorrectPlacement();
        DrawBlockBasedObjectType crossBlock = this.params.getBlockTypeOnIncorrectPlacement();

        this.blockTypeOnCorrectPlacement = (tickBlock != null) ? new XMLBlockState(tickBlock.getType(), tickBlock.getColour(), tickBlock.getFace(), tickBlock.getVariant()) : null;
        this.blockTypeOnIncorrectPlacement = (crossBlock != null) ? new XMLBlockState(crossBlock.getType(), crossBlock.getColour(), crossBlock.getFace(), crossBlock.getVariant()) : null;
        return true;
    }
569806
protected void writeParamsForSinglePreparedEntry(StringBuilder sb, SortedMap<String, String> paramMap, ExecutionInfo execInfo, List<QueryInfo> queryInfoList) {
        sb.append("[");
        for (Map.Entry<String, String> paramEntry : paramMap.entrySet()) {
            Object value = paramEntry.getValue();
            if (value == null) {
                sb.append("null");
            } else {
                sb.append("\"");
                sb.append(escapeSpecialCharacter(value.toString()));
                sb.append("\"");
            }
            sb.append(",");
        }
        chompIfEndWith(sb, ',');
        sb.append("],");
    }
794020
private static void checkPreconditions(final Set<Object> possibleValues) {
		if( possibleValues == null ) {
			throw new NullPointerException("possibleValues Set should not be null");
		} else if( possibleValues.isEmpty() ) {
			throw new IllegalArgumentException("possibleValues Set should not be empty");
		}
	}
1254555
public static void setSqlParams(final SqlContext ctx, final String... paramsArray) {
		Set<String> bindParams = getSqlParams(ctx.getSql());

		for (String element : paramsArray) {
			String[] param = element.split("=");
			String key = param[0];
			if (bindParams.remove(key)) {
				// キーがバインドパラメータに存在するときは値を設定する
				if (param.length == 1) {
					// キーだけの指定は値をnullと扱う
					ctx.param(key, null);
				} else {
					String val = param[1];
					setParam(ctx, key, val);
				}
			}
		}

		// 指定がなかったキーについてはnullを設定する
		bindParams.forEach(s -> ctx.param(s, null));
	}
923264
protected String findValidHeaderValue(Set<CharSequence> paramValues) {
    String selectedValue = null;
    if (paramValues != null && !paramValues.isEmpty()) {
      CharSequence value = paramValues.iterator().next();
      if (!(value instanceof QueryParameterValue)) {
        selectedValue = value.toString();
      }
    }
    return selectedValue;
  }
68787
protected void addIdInCollectionCondition(final Expression<?> property, final Collection<?> values) {
        if (values == null || values.isEmpty()) {
            fieldConditions.add(getCriteriaBuilder().equal(property, -1));
        } else {
            fieldConditions.add(property.in(values));
        }
    }
1196239
private List<Condition> conditionsOf(JsonNode conditionNodes) {

        List<Condition> conditionList = new LinkedList<Condition>();
        Iterator<Map.Entry<String, JsonNode>> mapOfConditions = conditionNodes
                .fields();

        Entry<String, JsonNode> condition;
        while (mapOfConditions.hasNext()) {
            condition = mapOfConditions.next();
            convertConditionRecord(conditionList, condition.getKey(),
                    condition.getValue());
        }

        return conditionList;
    }
111873
public Expression<Integer> between(Integer startValue, Integer endValue) {
		String valueString = "'" + startValue + "' AND '" + endValue + "'";
		return new Expression<Integer>(this, Operation.between, valueString);
	}