Get mode info.
<ul>
<li>0 : unknown</li>
<li>1 : IN</li>
<li>2 : INOUT</li>
<li>4 : OUT</li>
</ul>

@param param parameter index
@return mode information
@throws SQLException if index is wrong
321572
public int getParameterMode(int param) throws SQLException {
    CallParameter callParameter = getParam(param);
    if (callParameter.isInput() && callParameter.isOutput()) {
      return parameterModeInOut;
    }
    if (callParameter.isInput()) {
      return parameterModeIn;
    }
    if (callParameter.isOutput()) {
      return parameterModeOut;
    }
    return parameterModeUnknown;
  }
274011
public String queryString(String sql, Object... params) throws SQLException {
		return query(sql, new StringHandler(), params);
	}
1115446
public static String getParameterName(Parameter parameter) {
        // identify parameter name and pattern from method signature
        String methodParameterName = parameter.getName();
        if (parameter.isAnnotationPresent(Param.class)) {
            Param param = parameter.getAnnotation(Param.class);
            if (!Strings.isNullOrEmpty(param.value())) {
                methodParameterName = param.value();
            }
        }
        return methodParameterName;
    }
860456
public String getParam(String param) {
        int i = findParam(param);
        return i < 0 ? null : StrUtil.piece(extraInfo[i], "=", 2);
    }
94683
public String toSql(boolean showParameters) {
        String sql;
        if(forPaginator){
            sql = metaModel.getDialect().formSelect(null, null, fullQuery, orderBys, limit, offset);
        }else{
            sql = fullQuery != null ? fullQuery
                    : metaModel.getDialect().formSelect(metaModel.getTableName(), null, subQuery, orderBys, limit, offset);
        }
        if (showParameters) {
            StringBuilder sb = new StringBuilder(sql).append(", with parameters: ");
            join(sb, params, ", ");
            sql = sb.toString();
        }
        return sql;
    }
969954
public Expression getExpectedParam(int index) {
        if (parameters.size() <= index) {
            throw new IllegalArgumentException("Parameter index out of bounds: " + index + ". Function call: " + this);
        }

        return parameters.get(index);
    }
4086
public static String getParametersAsString(final Object... parameters) {
        if (parameters == null || parameters.length == 0) {
            return "";
        }
        final StringBuilder builder = new StringBuilder();
        builder.append('[');
        for (int i = 0; i < parameters.length; i++) {
            builder.append(arrayToString(parameters[i]));
            if (i < parameters.length - 1) {
                builder.append(", ");
            }
        }
        return builder.append(']').toString();
    }
781716
@Override
	public SqlContext paramMap(final Map<String, ?> paramMap) {
		if (paramMap != null) {
			paramMap.forEach((k, v) -> param(k, v));
		}
		return this;
	}
237155
public final String asWhereConditionWithParam() {
        if (table == null) {
            return column + operator + ":" + column;
        }
        return table + "." + column + operator + ":" + column;
    }
22487
protected String getParameter(final List<String> params, final int index) {

		if (params.size() > index) {

			return params.get(index);
		}

		return null;
	}
831235
@NotNull
    protected static String parse(@NotNull String sql, @NotNull Map<String, List<Integer>> paramMap) {
        int length = sql.length();
        StringBuilder parsedQuery = new StringBuilder(length);
        boolean inSingleQuote = false;
        boolean inDoubleQuote = false;
        int index = 1;

        for (int i = 0; i < length; i++) {
            char c = sql.charAt(i);
            if (inSingleQuote) {
                if (c == '\'') {
                    inSingleQuote = false;
                }
            } else if (inDoubleQuote) {
                if (c == '"') {
                    inDoubleQuote = false;
                }
            } else {
                if (c == '\'') {
                    inSingleQuote = true;
                } else {
                    if (c == '"') {
                        inDoubleQuote = true;
                    } else {
                        if (c == ':' && i + 1 < length && Character.isJavaIdentifierStart(sql.charAt(i + 1))) {
                            int j = i + 2;
                            while (j < length && Character.isJavaIdentifierPart(sql.charAt(j))) {
                                j++;
                            }
                            String name = sql.substring(i + 1, j);
                            c = '?'; // replace the parameter with a question mark
                            i += name.length(); // skip past the end if the parameter

                            List<Integer> indexList = paramMap.computeIfAbsent(name, k -> new ArrayList<>());
                            indexList.add(index);

                            index++;
                        }
                    }
                }
            }
            parsedQuery.append(c);
        }
        return parsedQuery.toString();
    }
540495
public Map<String, String> paramMap() {
        Map<String, String> params = new HashMap<>();

        if (getQuery() != null)
            params.put("q", getQuery());
        if (getCategory() != null)
            params.put("category", getCategory().toString());
        if (getHasSeerInfo() != null)
            params.put("has_seer_info", getHasSeerInfo().toString());
        if (getIncludeRemoved() != null)
            params.put("include_removed", getIncludeRemoved() ? "true" : "false");
        if (getAddedSince() != null)
            params.put("added_since", getAddedSince());
        if (getModifiedSince() != null)
            params.put("modified_since", getModifiedSince());
        if (getRemovedSince() != null)
            params.put("removed_since", getRemovedSince());
        if (getPage() != null)
            params.put("page", getPage().toString());
        if (getPerPage() != null)
            params.put("per_page", getPerPage().toString());
        if (getOrder() != null)
            params.put("order", getOrder());

        return params;
    }
919914
function getIdlParameterList(parameters) {
    var result = []

    if (parameters.length == 0) return "";

    result.push("<table>")
    parameters.forEach(function(parameter, index, list){
        var comma = (index == list.length-1) ? "" : ","
        result.push("<tr>")
        result.push("<td>" + Indent2 + (parameter.out ? "out" : "in"))
        result.push("<td>" + getIdlType(parameter.type))
        result.push("<td>" + "<span class='parameterName tdIndent'>" + parameter.name + comma + "</span>")
    })

    result.push("</table>")
    return result.join("\n") + Indent
}
542740
@Override
	public Map<String, Object> getOutParams(final CallableStatement callableStatement) throws SQLException {
		Map<String, Object> out = new HashMap<>();
		Parameter[] bindParameters = getBindParameters();
		int parameterIndex = 1;
		for (Parameter parameter : bindParameters) {
			if (parameter instanceof OutParameter) {
				String key = parameter.getParameterName();
				out.put(key, getSqlFilterManager().doOutParameter(key, callableStatement.getObject(parameterIndex)));
			}
			parameterIndex++;
		}

		LOG.debug("Stored procedure out parameter[{}]", out);
		return out;
	}
792317
@Override
	public int setParameter(final PreparedStatement preparedStatement, final int index,
			final BindParameterMapperManager parameterMapperManager) throws SQLException {
		return setOutParameter((CallableStatement) preparedStatement, index);
	}
345197
@Override
    public void registerOutParameter(String parameterName, int sqlType, int scale) throws SQLException
    {
        checkClosed();
        throw SQLError.noSupport();
    }
687538
private String getParameterValue(CmsObject cms, Map<String, String[]> parameterMap, String key) {

        String result = null;
        String[] params = parameterMap.get(key);
        if ((params != null) && (params.length > 0)) {
            result = params[0];
        }
        if (result == null) {
            return "";
        }
        return result;
    }