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
                
            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