@Override public boolean visitEnter(Keyword o) { getQueryMaker().keyword(); return true; }
@Override public void visit(ConditionValueString o) { // not copy o, beacause o is immutable getQueryMaker().value(o); }
@Override public boolean visitEnter(Not o) { getQueryMaker().not(); return true; }
@Override public void visitLeave(ContainsOne o, boolean enterOrMiddleResult) { getQueryMaker().close(); }
@Override public boolean visitEnter(And o) { getQueryMaker().and(); return true; }
@Override public boolean visitEnter(Or o) { getQueryMaker().or(); return true; }
@Override public void visit(False o) { getQueryMaker().rFalse(); }
@Override public void visitLeave(And o, boolean enterResult) { getQueryMaker().close(); }
@Override public boolean visitEnter(ContainsOne o) { getQueryMaker().containsOne(o.getElement()); return true; }
@Override public boolean visitEnter(ContainsAll o) { getQueryMaker().containsAll(o.getElement()); return true; }
@Override public boolean visitEnter(LessOrEquals o) { getQueryMaker().le(o.getElement()); return true; }
@Override public boolean visitEnter(Unlike o) { getQueryMaker().unlike(o.getElement()); return true; }
@Override public boolean visitEnter(Between o) { getQueryMaker().bw(o.getElement()); return true; }
@Override public boolean visitEnter(Greater o) { getQueryMaker().gt(o.getElement()); return true; }
@Override public boolean visitEnter(GreaterOrEquals o) { getQueryMaker().ge(o.getElement()); return true; }
@Override public boolean visitEnter(Less o) { getQueryMaker().lt(o.getElement()); return true; }
@Override public boolean visitEnter(Like o) { getQueryMaker().like(o.getElement()); return true; }
@Override public void visit(NotNull o) { getQueryMaker().isNotNull(o.getElement()); }
@Override public boolean visitEnter(Equals o) { if (o.isIgnoreCaseAndAccent()) { getQueryMaker().eqIgnoreCaseAndAccent(o.getElement()); } else { getQueryMaker().eq(o.getElement()); } return true; }
@Override public boolean visitEnter(NotEquals o) { if (o.isIgnoreCaseAndAccent()) { getQueryMaker().neIgnoreCaseAndAccent(o.getElement()); } else { getQueryMaker().ne(o.getElement()); } return true; }