
restql.core.query.QueryInterpolator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of restql-core Show documentation
Show all versions of restql-core Show documentation
Microservice query language for Java
The newest version!
package restql.core.query;
import java.util.List;
public final class QueryInterpolator {
private QueryInterpolator() {}
private static String parseParam(T param) {
String parsedParam;
if(param instanceof List) {
parsedParam = "[";
List listParam = (List) param;
boolean first = true;
for(Object listValue : listParam) {
if(first) {
first = false;
}
else {
parsedParam += ",";
}
parsedParam += parseParam(listValue);
}
parsedParam += "]";
}
else if (param instanceof String) {
parsedParam = "\"" + param + "\"";
} else {
parsedParam = param.toString();
}
return parsedParam;
}
public static String interpolate(String query, Object... args) {
final String queryWithPlaceHolders = query.replace("?", "%s");
final String[] escapedArgs = new String[args.length];
for (int i = 0; i < args.length; i++) {
escapedArgs[i] = parseParam(args[i]);
}
return String.format(queryWithPlaceHolders, escapedArgs);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy