@Override public String toString() { return this.field + " " + this.operator.val() + " " + this.value; }
public String getFieldName() { return FilterOperator.WHERE.val(); }
public void addTo(DBObject obj) { obj.put(FilterOperator.WHERE.val(), this.js); }
@SuppressWarnings("unchecked") public void addTo(DBObject obj) { if (FilterOperator.EQUAL.equals(operator)) { obj.put(this.field, value); // no operator, prop equals value } else { Object inner = obj.get(field); // operator within inner object if (!(inner instanceof Map)) { inner = new HashMap<String, Object>(); obj.put(field, inner); } Object val = not ? new BasicDBObject("$not", value) : value; ((Map<String, Object>) inner).put(operator.val(), val); } }
switch (operator) { case NEAR: query = BasicDBObjectBuilder.start(FilterOperator.NEAR.val(), value); break; case NEAR_SPHERE: query = BasicDBObjectBuilder.start(FilterOperator.NEAR_SPHERE.val(), value); break; case WITHIN_BOX: query = BasicDBObjectBuilder.start().push(FilterOperator.WITHIN.val()).add(operator.val(), value); break; case WITHIN_CIRCLE: query = BasicDBObjectBuilder.start().push(FilterOperator.WITHIN.val()).add(operator.val(), value); break; case WITHIN_CIRCLE_SPHERE: query = BasicDBObjectBuilder.start().push(FilterOperator.WITHIN.val()).add(operator.val(), value); break; default: