
com.spikeify.aerospikeql.ConditionProcessor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aerospike-ql Show documentation
Show all versions of aerospike-ql Show documentation
SQL wrapper for Aerospike database
The newest version!
package com.spikeify.aerospikeql;
import com.spikeify.aerospikeql.generate.functions.Filter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
class ConditionProcessor {
public String process(String condition) {
Map replaceQuotesMapping = new HashMap<>();
return condition == null ? "true" : new Builder(condition)
.preProcessStatementQuotes(replaceQuotesMapping)
.parseStatement()
.postProcessStatementQuotes(replaceQuotesMapping)
.build();
}
public static class Builder {
private final Filter fc = Filter.factory(null);
private String condition;
public Builder(String condition) {
this.condition = condition;
}
Builder preProcessStatementQuotes(Map replaceQuotesMapping) {
this.condition = fc.preProcessStatementQuotes(replaceQuotesMapping, condition);
return this;
}
Builder parseStatement() {
this.condition = fc.parseStatement(condition, new HashSet());
return this;
}
Builder postProcessStatementQuotes(Map replaceQuotesMapping) {
this.condition = fc.postProcessStatementQuotes(replaceQuotesMapping, condition);
return this;
}
String build() {
return condition != null ? condition : "true";
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy