public Comparable getValue(String query) { Object rawValue = doGetValue(query); return (Comparable) ClauseParser.parseValue(rawValue); }
private List<ConditionalTest> getConditions(JSONObject conditionObject) { List<ConditionalTest> conditionalTests = new ArrayList<ConditionalTest>(); Iterator<String> operators = conditionObject.keys(); while (operators.hasNext()) { String operator = operators.next(); Object value = null; if (!conditionObject.isNull(operator)) { value = ClauseParser.parseValue(conditionObject.opt(operator)); } conditionalTests.add(new ConditionalTest(ConditionalOperator.parse(operator), value)); } return conditionalTests; }
public ConditionalClause(String field, Object inputValue) { this.fieldName = field.trim(); ApptentiveLog.v(INTERACTIONS, " + ConditionalClause for query: \"%s\"", fieldName); if (inputValue instanceof JSONObject && !isComplexType((JSONObject) inputValue)) { conditionalTests = getConditions((JSONObject) inputValue); } else { conditionalTests = new ArrayList<>(); conditionalTests.add(new ConditionalTest(ConditionalOperator.$eq, ClauseParser.parseValue(inputValue))); } }